Module 18191 (2007)

Syllabus page 2007/2008

06-18191
Software Engineering

Level 2/I

Joan Jackson:13.333333
Rami Bahsoon:6.666667
Peter Coxhead (coordinator)
10+10 credits in Semester 1 and Semester 2

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 material taught by Alan Sexton
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:
1explain the basic principles of project management, including the role of the project manager Continuous assessment, examination
2apply standard techniques in project management Continuous assessment, examination
3analyse the organizational issues surrounding the development and implementation of systems solutionsContinuous assessment, examination
4identify appropriate interpersonal skills to manage and perform the systems development process more effectivelyContinuous assessment, examination
5explain the importance of successful requirements definition in commercial software development, identifying the difficulties involvedContinuous assessment, examination
6explain and apply appropriate techniques which help to define clear and unambiguous requirementsContinuous assessment, examination
7explain 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
8use UML to describe analysis and design modelsContinuous assessment, examination
9apply important design techniques and patterns where it helps to improve design modelsContinuous assessment, examination
10explain current methods used for system developmentExamination

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:

48


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

TitleAuthor(s)Publisher, Date
Project ManagementField & KellerInternational Thomson Business Press,
Software EngineeringIan SommervilleAddison-Wesley,
Object Oriented Systems Analysis and Design using UML (3rd edition)S Bennett, S McRobb & R FarmerMcGraw Hill, 2006
Lecture NotesJ Jackson
Design Patterns: Elements of Reusable Object-Oriented SoftwareE Gamma, R Helm, R Johnson & J VlissidesAddison-Wesley, 1995
Object Oriented Systems Development -- A Gentle ApproachC Britton & J DoakeMcGraw Hill,
Mastering the requirements processS & J RobertsonAddison-Wesley, 1999

Detailed Syllabus

  1. Introduction to the module (1)
  2. Project genesis (4)
    • How projects arise, choosing the right project, software life-cycles.
  3. Basic project management techniques (8)
    • Planning, estimating, monitoring progress.
  4. Human factors in project management (2)
    • Organizations and players in the game, interpersonal skills, project teams.
  5. Advanced project management techniques (4)
    • Risk management, configuration management, quality management, process improvement.
  6. Introduction to requirements engineering (1)
    • The need for RE, difficulties of RE, overview of the process.
  7. 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.
  8. 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.
  9. Requirements validation and management (1)
    • Reviews, prototyping, traceability, change management.
  10. Object-Orientation with UML~2.0 - Functional View (2)
    • Use cases
  11. Object-Orientation with UML~2.0 - Structural View (4)
    • Class diagrams, Object Constraint Language
  12. Object-Orientation with UML~2.0 - Behavioural View (4)
    • Activity diagrams, interaction diagrams, state diagrams
  13. Design Patterns (2)
  14. Software Development Processes (2)

Last updated: 24 Feb 2008

Source file: /internal/modules/COMSCI/2007/xml/18191.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus