Postgraduate Course: Software Architecture, Process, and Management (Level 11) (INFR11038)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Not available to visiting students |
Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Credits | 10 |
Home subject area | Informatics |
Other subject area | None |
Course website |
http://www.inf.ed.ac.uk/teaching/courses/sapm |
Taught in Gaelic? | No |
Course description | This course considers the many ways in which development and maintenance of large software systems differs from that of small systems. It discusses the high level architectural decisions that may control the complexity of such systems, and the architectural degradation that leads to legacy systems. It considers the processes by which large systems can be developed and the role of managers in planning and guiding development, predicting and mitigating risks, and improving quality.
The lectures and exam are identical to the level 10 versions, but MSc students undertake more advanced coursework to meet the additional learning outcome. |
Course Delivery Information
Not being delivered |
Summary of Intended Learning Outcomes
1 - Describe and explain the challenges inherent in large-scale system development and outline techniques with which managers can help meet these challenges.
2 - Propose and justify architectural decisions for large-scale, long-lived systems.
3 - Explain why software reuse is difficult, and some approaches for increasing software reuse.
4 - Summarize and apply approaches for maintaining and replacing legacy code.
5 - Compare and contrast development processes (e.g. Extreme Programming and the Unified Process) and explain their application to a project.
6 - Analyse the significant sources of risk for particular projects and suggest ways to reduce the risks.
7 - Describe, and in some cases be able to use, tools relevant to large-scale, long-term development, such as requirements management, configuration, build, test, and project management tools.
8 - Critically reflect on given software engineering related articles, from the peer-reviewed literature and elsewhere.
9 - Locate, summarize, and critically evaluate peer-reviewed literature about a subarea of software engineering. |
Assessment Information
Written Examination 75
Assessed Assignments 25
Oral Presentations 0
|
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
Large scale software
- The difference that scale makes: from single-person projects to ultra-large systems
- Tool use: revision control, configuration management, bug/issue tracking, testing, documentation, and other tools
- Architectural principles and patterns
- Components, product lines and other forms of reuse
- Maintaining and replacing legacy systems
Software Development Processes
- High ceremony processes
- Agile development
- Quality assurance
- Process improvement
- Critical systems, sociotechnical systems, and dependability
- Open source development
Planning and Managing Software Projects
- Requirements management
- Planning projects using size and cost estimation
- Risk management
- Project tracking and change management
- Project and people management: successful teamwork
Relevant QAA Computing Curriculum Sections: Professionalism, Software
Engineering, Systems Analysis and Design |
Transferable skills |
Not entered |
Reading list |
* Required: Lecture notes and readings distributed in class or online
* Recommended: Sommerville, Software Engineering, Addison Wesley (any edition) |
Study Abroad |
Not entered |
Study Pattern |
Lectures 15
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 15
Private Study/Other 70
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Dr Iain Murray
Tel: (0131 6)51 9078
Email: |
Course secretary | Miss Kate Weston
Tel: (0131 6)50 2701
Email: |
|
|