CO316: Software Engineering

Course Number : CO316
Course Title : Software Engineering
Credits : 3
Prerequisites : Computer Programming (CO212)
No Course Content Time Allocated (hours)
      L T P A
01 Introduction:
Challenges of engineering software
1      
02 Software Processes:
Software life-cycle and process models. Waterfall vs. evolutionary models. The SEI capability maturity model
2      
03 The Unified Process and The UML:
The UP as an example of incremental software development. Basic UML diagram types and notation. Object-oriented analysis and design with the UP and the UML
3      
04 Software Requirements Specification:
System Vision Statement and Business Case. Writing functional requirements using Use Cases. Supplementary Specification for documenting quality attributes
3 1   7
05 Transitioning from Requirements to Design:
Building a domain model. Object-oriented analysis patterns
2 1   7
06 Object-Oriented Design:
Low coupling and high cohesion with Responsibility-driven design. Modelling object interactions using sequence/collaboration diagrams and CRC cards. Common design patters: Observer, Decorator, Factory
4 1   7
07 Software Testing:
Design-by-contract. Specifying correct behaviour using Pre-conditions, Post-conditions and Invariants. Using automated unit testing frameworks ( e.g. JUnit)
4   3  
08 Project Management:
Team organization and decision-making, Roles and responsibilities in a software team, Project scheduling and tracking, Software measurement and estimation techniques, Risk analysis, Software quality assurance, Project management tools
6      
09 Selected Topics:
Component frameworks: EJB/.NET, Agile languages for rapid prototyping: Python/Ruby, Configuration management and automated build integration, Model-View-Controller Web frameworks and Representational State Transfer, Formal methods: Introduction to Algebraic Specification and Model Checking
2   6  
Total 27 3 9 21
Assessment Percentage Marks
Continuous Assessment 40  
         Tutorials   5
         Practicals   15
         Assignments   20
Written Examinations 60  
         Mid-semester   20
         End-semester   40
[an error occurred while processing the directive]