Dr Rami Bahsoon

Senior Lecturer in Software Engineering, School of Computer Science

The University of Birmingham






Home   Profile   Research   Publications   Teaching     


2018/2019 Spring Semester:

BSc/M-Level (Second Year). Software Engineering II. 10 credits.

-Module syllabus can be found here

- Slides will be available online prior to the start of each unit.

- An effort has been made to make sure that the below units are self-contained. You are encouraged to consult the listed references for more reading.

Unit Number




Unit 0

Section Introduction

Module introduction and assessment


Unit 1

Brief Overview of Software Lifecycle

Agile Software Development



Extra video content:

-       Link to Scrum in 10 minutes

-       Scrum in Practice Microsoft Labs Seattle

-       Explaining Agile - Martin Fowler and Neil Ford at USI

-       DevOps introduction by Rackspace

-       DevOps tools


Unit 2

Engineering OO Software with Unified Modelling Language (UML)



Overview/review of UML notions for Engineering OO and CBS Software

-       Introduction

-       Use case modelling

-       Scenarios

-       Activity diagrams

-       Class analysis and object diagrams

-       Interaction diagrams

-       State diagrams

-       Component and deployment

Extra Videos- Credit to Alex Orso

Use Case modelling

Role of Use Cases

Example: use case modelling

Class Diagram

Relationships in class diagrams

Generalisation in class diagrams

Class Diagram Analysis - Attributes

Class Diagram: Operations

Sequence Diagram

State Diagram

State Transition Diagram: Example

Component Diagram

Deployment Diagram

UML Distilled: A Brief Guide to the Standard Object Modeling Language, Martin Fowler

Using UML: Software Engineering With Objects and Components, Perdita Stevens, Rob Pooley

Unit 4

Introduction to Software Architecture and Styles



Software Architecture Definition


On Styles: Sample

Software Engineering, Ian Somerville

The Software Architecture: Foundations,Theory, and Practice Richard N. Taylor, by Nenad Medvidović, and Eric M. Dashofy

Further reading by Garlan and Shaw:


Unit 5

Software Architecture Evaluation and Trade-offs Analysis Method


Architecture Tradeoff Analysis Method".

Carnegie Mellon Software Engineering Institute.

Unit 6

Introduction to Service-oriented Architecture and Cloud SaaS



Misc. Topics


Introduction to Microservices


How to Interview an Architect?



Revision Highlight,for Guidance only!



Unit 6: Industrial Presentations on Advanced Topics in Software Architecture


Agile for Leaders






Theme: Software Engineering for Data Science Applications, Case of BIFOR


Useful Videos


Sample Dataset


Tree Tweets


Links to BIFOR



Group of 4-5 members


Coursework released 29/1

Deadline: 25th March 2019


Early submission is strongly encouraged to ease face-to-face design

walkthrough feedback

Demonstrators and Courtesy Feedback Sessions prior to submission:


Sara Hassan

Rami Bahsoon




Sample Solution for UML Exercises

UML Sample 1

UML Sample 2

UML Sample 3(Flight booking)



Please do not use my e-mail account.




The University of Birmingham, Edgbaston, Birmingham, B15 2TT, UK
copyright of The University of Birmingham