Postgraduate Course: Software Architecture, Process, and Management (Level 11) (INFR11038)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||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.
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
Information for Visiting Students
Course Delivery Information
|Academic year 2014/15, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||You should expect to spend approximately 15 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
| 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.
|* Required: Lecture notes and readings distributed in class or online|
* Recommended: Sommerville, Software Engineering, Addison Wesley (any edition)
|Course organiser||Mr Stuart Anderson
Tel: (0131 6)50 5191
|Course secretary||Miss Claire Edminson
Tel: (0131 6)51 4164
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:11 am