1. To appreciate the emerging techniques in Software Engineering.
2. To understand the concept of Software Architecture.
3. Identify the role of Software Architecture in Software Engineering.
Review of Software Engineering Basics: Life cycle models, Requirement Analysis and specification, Formal requirements specification, System Analysis.
Fundamental issues in Software Design: Goodness of design, cohesions, coupling.
Function & Object oriented design: Structured design. Overview of object –oriented concepts, UML, CBSE.
Emerging Web technologies: Web engineering: attributes of web based system and application, web applications engineering layers, web engineering process.
Software re-engineering, s/w maintenance, process model.
Security Engineering: security concepts, risk management, design and system survivability.
Emerging technologies: Service oriented software engineering, services as reusable components, engineering and s/w development with services.
Aspect oriented software development: The separations of concerns, aspects, join points & point cuts, S/W Engineering with aspects, Agile methods.
Introduction to Software Architecture: Architecture in the Software Development Life Cycle, Future of software architecture, the role of Software Architecture and Architects in Software Engineering
Elements of Software Architecture: Components, Connectors, Data.
Creating Architecture: Understanding Quality Attributes, Achieving qualities, creating the architecture, Case Study.
Software Architectural Styles: Pipes and Filters, data abstraction and object oriented organization, Event based, implicit invocation, Layered systems, Repositories, Interpreters, Process control, Other familiar Architectures, Heterogeneous Architectures, Reconstructing Software Architecture.