Module 18191 (2009)
Syllabus page 2009/2010
06-18191
Software Engineering
Level 2/I
Rami Bahsoon:6.666667
Rami Bahsoon (coordinator)
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus
The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
Relevant Links
Web page for Joan Jackson's material
Web page for Rami Bahsoon's material
Outline
Management of the software development process, including: how projects arise, choosing the right project, software life cycles, human factors in project management, basic project management techniques (e.g. planning, estimating, monitoring progress), advanced project management techniques (e.g. risk management, configuration management, quality management, process improvement). Overview of requirements engineering, requirements elicitation & analysis, requirements definition & specification, requirements validation, requirements management, overview of specification techniques. Object-oriented analysis and design using Unified Modeling Language (UML) and patterns.
Aims
The aims of this module are to:
- show the need for professional discipline and effective management throughout the software development process
- show the importance of teamwork and good interpersonal skills in successful software development
- give an appreciation of the importance of requirements engineering as the first phase of the software development process
- introduce some methods and techniques available to the software engineer for use in the requirements engineering process
- present standard object-oriented techniques for software analysis and design
- introduce key object-oriented design principles
- introduce design patterns and demonstrate how they can facilitate the overall development process
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | explain the basic principles of project management, including the role of the project manager | Continuous assessment, examination |
| 2 | apply standard techniques in project management | Continuous assessment, examination |
| 3 | analyse the organizational issues surrounding the development and implementation of systems solutions | Continuous assessment, examination |
| 4 | identify appropriate interpersonal skills to manage and perform the systems development process more effectively | Continuous assessment, examination |
| 5 | explain the importance of successful requirements definition in commercial software development, identifying the difficulties involved | Continuous assessment, examination |
| 6 | explain and apply appropriate techniques which help to define clear and unambiguous requirements | Continuous assessment, examination |
| 7 | explain and apply the knowledge and skills required to act as a contributing junior analyst in a project team working within a disciplined project environment | Continuous assessment, examination |
| 8 | use UML to describe analysis and design models | Continuous assessment, examination |
| 9 | apply important design techniques and patterns where it helps to improve design models | Continuous assessment, examination |
| 10 | explain current methods used for system development | Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
None
Prerequisites:
06-11224 (Introduction to Software Engineering) (or equivalent)
Co-requisites:
None
Teaching
Teaching Methods:
2 hrs/week, conventional lectures and tutorials.
NOTE: This module is taught in 2 parts. Part I lasts 15 weeks (Sem1 and 4 weeks into Sem2). Part II lasts 7 weeks (Sem2).
Contact Hours:
Assessment
- Sessional: 2 hr examination (50%), continuous assessment (50%).
- Supplementary (where allowed): By examination only.
- Continuous assessment (assessed exercises or assignments): Part I (weekly exercises [10% in total] + 2 assignments [56% in total]) and Part II (1 assignment worth 34%).
Recommended Books
| Title | Author(s) | Publisher, Date |
| Project Management | Field & Keller | International Thomson Business Press, |
| Software Engineering (8th ed.) | Ian Sommerville | Addison-Wesley, |
| Object Oriented Systems Analysis and Design using UML (3rd edition) | S Bennett, S McRobb & R Farmer | McGraw Hill, 2006 |
| Lecture Notes | J Jackson | |
| Design Patterns: Elements of Reusable Object-Oriented Software | E Gamma, R Helm, R Johnson & J Vlissides | Addison-Wesley, 1995 |
| Object Oriented Systems Development -- A Gentle Approach | C Britton & J Doake | McGraw Hill, |
| Mastering the requirements process (2nd ed.) | S & J Robertson | Addison-Wesley, 1999 |
Detailed Syllabus
- Introduction to the module (1)
- Project genesis (4)
- How projects arise, choosing the right project, software life-cycles.
- Basic project management techniques (8)
- Planning, estimating, monitoring progress.
- Human factors in project management (2)
- Organizations and players in the game, interpersonal skills, project teams.
- Advanced project management techniques (4)
- Risk management, configuration management, quality management, process improvement.
- Introduction to requirements engineering (1)
- The need for RE, difficulties of RE, overview of the process.
- Requirements elicitation and analysis (4)
- Understand the problem domain (problem analysis, business modelling, soft systems analysis).
- Identify the stakeholders, business events, context diagram.
- Elicitation techniques (interviews, questionnaires, requirements workshop, ethnography, prototyping, scenarios), requirements prioritisation & conflict resolution.
- Documenting requirements in natural language (3)
- Goals, user requirements, functional and non-functional requirements, validation criteria.
- Format of the requirements document.
- Characteristics of quality requirements.
- Requirements validation and management (1)
- Reviews, prototyping, traceability, change management.
- Object-Orientation with UML~2.0 - Functional View (2)
- Use cases
- Object-Orientation with UML~2.0 - Structural View (4)
- Class diagrams, Object Constraint Language
- Object-Orientation with UML~2.0 - Behavioural View (4)
- Activity diagrams, interaction diagrams, state diagrams
- Design Patterns (2)
- Software Development Processes (2)
Last updated: 6 Aug 2008
Source file: /internal/modules/COMSCI/2009/xml/18191.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus