CPEN 407:Software Engineering (prerequisites: CPEN 207)

Main block


Introduction: Software Engineering. Professional and ethical responsibility. Socio-Technical Systems: Emergent system properties, Systems engineering, Organizations, people and computer systems, Legacy systems. Case Study on Socio-Technical Systems Critical Systems: A simple safety-critical system, System dependability, Availability and reliability, Safety, Security. Case Study on Critical Systems. Software Processes: Process Models. Process Iteration. Rational Unified Process. CASE Technology. Case Study on Software Process Models. Requirements Engineering: Feasibility studies. Requirements: elicitation and analysis. Requirements validation. Requirements management. System Models: Behavioural Models. Data Models. Object Models. Structured Models. UML Notations. Application Architectures: Data processing systems. Transaction processing Systems. Event processing systems. Language processing systems. Object-Oriented Analysis and Design: Objects and Objects Classes. Object oriented design process. Design Evolution. UML. Rapid Software Development: Agile methods. Extreme programming, Rapid application development. Software prototyping. Software Reuse: The reuse landscape. Design patterns. Generator based reuse. Application frameworks. Application system reuse. Introduction to Project Management: Management activities. Project planning Project scheduling. Risk management. Software costing. Mini Project: Typical software engineering project.