Module 18191 (2012)
Syllabus page 2012/2013
Rami Bahsoon (coordinator)
The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
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.
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
|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|
06-11224 (Introduction to Software Engineering) (or equivalent)
2 hrs/week, conventional lectures and tutorials.
NOTE: This module is taught in 2 parts. Part I Sem1. Part II (Sem2).
- Sessional: 2 hr examination (50%), continuous assessment (50%).
- Supplementary (where allowed): By examination only.
- Continuous assessment (assessed exercises or assignments): Part I (5 exercises [20% in total] + 1 assignment [30% in total]) and Part II (1 assignment worth 50%).
|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|
- Introduction to the module (1)
- Project genesis (3)
- 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 (3)
- The need for RE, difficulties of RE, overview of the process, requirements elicitation and analysis, understand the problem domain, elicitation techniques (interviews, questionnaires, requirements workshop, ethnography, prototyping, scenarios), requirements prioritisation & conflict resolution, documenting requirements in natural language, goals, user requirements, functional and non-functional requirements, validation criteria, format of the requirements document, requirements validation and 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: 20 September 2012
Source file: /internal/modules/COMSCI/2012/xml/18191.xml