Introduction: Professional Software Development Attributes of good software, softwareengineering diversity, IEEE/ ACM code of software engineering ethics, case studies
Software Process models: waterfall, incremental development, reuses oriented, Processactivities; Coping with change, The rational Unified process. Agile methods, Plan-driven andagile Development, Extreme Programming, Agile project management, Scaling agile methods.
Functional and non-functional requirements, The software requirements document,Requirements specification, Requirements engineering processes, Requirement elicitation andanalysis, Requirements validation, Requirements management
Context models, Interaction models, Structural models, Behavioral models, Model-drivenengineering, Software architecture: the role of software architecture, architectural views,component and connector view, Architectural styles for C&C view, Documenting architecturaldesign.Design: Design concepts, Function oriented design, detailed design, verification,matrix (Complexity matrix for function oriented design),
Components and component model, CBSE process, Component composition
Distributed system issues, Client-server computing, Architectural patterns for distributedsystems, Software as a service.
Process planning, Effort estimation, Project scheduling and staffing, Software configurationmanagement plan, Quality plan, Risk Management, Project monitoring plan.
Testing fundamentals, Black-box testing, White-box testing, Testing process