Postgraduate Course: Software Architecture, Process, and Management (Level 11) (INFR11038)
|School||School of Informatics
||College||College of Science and Engineering
||Availability||Available to all students
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
|Home subject area||Informatics
||Other subject area||None
||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.
Information for Visiting Students
|Displayed in Visiting Students Prospectus?||Yes
Course Delivery Information
|Delivery period: 2013/14 Semester 2, Available to all students (SV1)
||Learn enabled: No
|Course Start Date
|Breakdown of 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
|Breakdown of Assessment Methods (Further Info)
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
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.
|Written Examination 75|
Assessed Assignments 25
Oral Presentations 0
||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
||* Required: Lecture notes and readings distributed in class or online
* Recommended: Sommerville, Software Engineering, Addison Wesley (any edition)
Timetabled Laboratories 0
Non-timetabled assessed assignments 15
Private Study/Other 70
|Course organiser||Dr Mary Cryan
Tel: (0131 6)50 5153
|Course secretary||Miss Kate Farrow
Tel: (0131 6)50 2706
© Copyright 2013 The University of Edinburgh - 13 January 2014 4:28 am