Undergraduate Course: Software Architecture, Process, and Management (Level 10) (INFR10024)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Available to all students |
Credit level (Normal year taken) | SCQF Level 10 (Year 4 Undergraduate) |
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. |
Information for Visiting Students
Pre-requisites | None |
Displayed in Visiting Students Prospectus? | Yes |
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. |
Assessment Information
Written Examination 75
Assessed Assignments 25
Oral Presentations 0
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. |
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 Mary Cryan
Tel: (0131 6)50 5153
Email: |
Course secretary | Miss Kate Weston
Tel: (0131 6)50 2701
Email: |
|
|