1 | To introduce software engineering and to explain its importance
To set out the answers to key questions about software engineering. Consider some case studies |
2 | To introduce software process models,To describe three generic process models and when they may be used, To describe software activities, Plan-driven and agile processes, Waterfall model, Incremental model, |
3 | Reuse oriented software engineering methods, The requirement engineering process, Design activities. |
4 | Software testing and validation, Software evolution, Prototyping, Incremental development, Spiral method, To explain the Rational Unified Process model. |
5 | To introduce Agile methods, Rapid software development, Plan driven and agile development, agile method manifesto, Extreme programming, agile project management, scaling agile methods. |
6 | To introduce concepts of user and system requirements, To describe functional and non-functional requirements, To explain how software requirements may be organised in a requirements document. |
7 | To explain why the context of a system should be modelled as part of the RE process, To describe behavioural modelling, data modelling and object modelling, To introduce some of the notations used in the Unified Modeling Language (UML). |
8 | To show data driven and event driven modeling, State machine models, To show how CASE workbenches support system modelling, Model driven engineering, Model driven architecture, Executable UML, |
9 | To introduce architectural design and to discuss its importance
To explain the architectural design decisions that have to be made, Architecture patterns, 4+1 view model of architecture, The model-view controller pattern, Layered architecture. |
10 | Architecture design, repository architecture, client server architecture, pipe and filter architecture, Application architectures, A case study: transaction processing system, Information System architecture, Web based IS, Language processing systems, Compiler components
To discuss the distinctions between validation testing and defect testing
To describe the principles of system and component testing
To describe strategies for generating system test cases
To understand the essential characteristics of tool used for test automation |
11 | Software design and implementation, Object oriented design process, System context and interactions, Use cases, A case study: weather station, |
12 | Design models, Subsystem models, Sequence models, State diagram, Interface specification, Design patterns and its elements, The observer pattern, Implementation, Reuse, Configuration management, Development platform tools, IDE, Deployment, Open source systems, License management |
13 | Program testing, Software validation, Difference between validation and verification, V&V model, A model for software testing |
14 | Overview |