CS5037: Lectures
Course content, schedule and lecture materials
The links below allow you to retrieve the overheads used in lectures and other related materials. Files are in PDF format and can be viewed/printed from Adobe Acrobat Reader. However, they are only accessible either from Aberdeen campus or from home (in the latter case, using the University web proxy).
Further lecture overheads and additional materials will appear here as the course proceeds. Each set of notes will be generally accessible before the corresponding lecture. However, note that the content of each lecture is purely indicative and may be subject to change at very short notice.
-
Review session ( January 2012)
-
Lecture 25 download animated overheads download notes
-
-
Week 12 - From design to implementation
-
Lecture 24 download animated overheads download notes
Agile and eXtreme programming approaches: from waterfall to the XP; agile in a nutshell, Agile/XP vs the UP, agile estimates.
(See notes) -
Lecture 23 download animated overheads download notes
From design to implementation: The UP construction phase; mapping design into object oriented code; software testing - motivations and overview.
(See notes)
-
-
Week 11 - Detailed design patterns: a startup catalogue
-
Lecture 22 download animated overheads download notes
A catalogue of GRASP patterns (2): high cohesion (again), polymorphism, pure fabrication, low indirection, and protected variations mid-level object-oriented mid-level design patterns: specification and usage examples.
(See notes) -
Lecture 21 download animated overheads download notes
A catalogue of GRASP patterns (1): creator, expert, low coupling (again), controller, polymorphism, pure fabrication, indirection, and protected variations mid-level object-oriented mid-level design patterns: specification and usage examples.
(See notes)
-
-
Week 10 - Detailed design and detailed design patterns
-
Lecture 20 download animated overheads download notes
Responsibility-driven design and detailed design patterns: The GRASP (General Responsibility Assignment Software Patterns) approach to detailed design; pattern structure and template; fundamental GRASP patterns (creator, low coupling, high cohesion).
(See notes) -
Lecture 19 download animated overheads download notes
Detailed design issues: Mid-level design problems and solutions; coupling, interaction & inheritance coupling minimisation and law of Demeter; cohesion, operation, class, and link cohesion maximisation and Liskov substitution principle.
(See notes)
-
-
Week 9 - From architectural to detailed design
-
Lecture 18 download animated overheads download notes
Introduction to detailed design:
Detailed design artifacts; subsystems, units, packages, components; dependencies; interfaces; UML design-level class modelling expressiveness, issues, and notations.
(See notes) -
Lecture 17 download animated overheads download notes
Catalogue of architectural patters (part 2): reflecting on layered architectures: client-server, client-broker-server, and peer-to-peer architectural patterns; the model-view-controller architecture: application, form, consequences.
(See notes)
-
-
Week 8 - Architectural design
-
Lecture 16 download animated overheads download notes
Catalogue of architectural patters (part 1): pipe-and-filter, shared-data, event-driven, architectural patterns: application, form, consequences, architectural variations.
(See notes) -
Lecture 15 download animated overheads download notes
Introduction to architectural patterns: from patterns to architectural patterns (aka styles); the layered architectural pattern; partitioning; architectural pattern templates
(See notes)
-
-
Week 7 - Introduction to design
-
Lecture 14 download animated overheads download notes
Design principles and architectural design: basic principles; constructive principles (modularity, implementability, aestethics); coupling and cohesion; architectural design notations; interface specification.
(See notes) -
Lecture 13 download animated overheads download notes
From requirements to design: Requirements analysis: artifacts and limitations; design objectives and artifacts; Subsystems: packages, dependencies, services, and interfaces.
(See notes)
-
-
Week 6 - Systems analysis: finalising requirements and the functional view
-
Lecture 12 download animated overheads download notes
Requirements: the functional analysis model: Overview of requirements activities so far; heuristics for actors, scenarios, and use cases; initial `analysis objects': identification and crosschecking.
(See notes) -
Lecture 11 download animated overheads download notes
Q&A session: requirements specification:
In this interactive Q&A session a number of practical issues on requirements identification, representation, and analysis will be discussed, with particular emphasis on specific projects.
(See notes)
-
-
Week 5 - Systems analysis: the functional requirements model
-
Lecture 10 download animated overheads download notes
Use cases in detail:
Use case descriptions; actors; UML use case diagrams; associated non-functional requirements: glossary, supplementary specifications.
(See notes) -
Lecture 9 download animated overheads download notes
Introducing use cases: The UP approach to requirements; step-by-step use case elicitation; a much closer look at functional requirements; textual narrative vs. UML diagrams.
(See notes)
-
-
Week 4 - looking at requirements as user stories
-
Lecture 8 download animated overheads download notes
Requirements as user stories (and beyond): user stories properties: independence, negotiability, value, estimability, small size, testability; the FURPS+ list of requirements properties.
(See notes) -
Lecture 7 download animated overheads download notes
Introduction to user stories: Reminding inception and its prescriptions (results and deliverables), a closer look at requirements,user stories (good and bad, examples)
(See notes)
-
-
Week 3 - Business modelling and object orientation
-
Lecture 6 download animated overheads download notes
Object orientation in a nutshell: Classes and objects, state, behaviour, identity, inheritance, polymorphism, encapsulation.
(See notes) -
Lecture 5 download animated overheads download notes
Business modelling during inception: Modelling domain elements and workflows - why, when, what; Conceptual modelling: UML representation using class diagrams; Workflow modelling: UML representation using activity diagrams.
(See notes)
-
-
Week 2 - Introducing inception
-
Lecture 4 download animated overheads download notes
Requirements during inception: Vision, business value, feasibility analysis, top-level technical specification of software functionalities and properties.
(See notes) -
Lecture 3 download animated overheads download notes
Introduction to inception: Business modelling, requirements, design, implementation, project management, environment and artifacts during inception.
(See notes)
-
-
Week 1 - Introduction to systems analysis and design
-
Lecture 2 download animated overheads download notes
The software development lifecycle and its paradigm: lifecycle stages; waterfall and unified process paradigms.
(See notes) -
Lecture 1 download animated overheads download notes
Software systems and their engineering: software characteristics & quality; software engineering, its motivations, and its components.
(See notes) -
Presentation download animated overheads download notes
Welcome: course organisation & overview, preliminary information.
(See notes)
-