CSC2045 - Software Engineering
Software Engineering
Chapter 1 - Introduction
Marking How well the software is planned and organised. Version management software. Refer to th...
Chapter 2 - Software Process (Life Cycle)
Primitive Software Process Model For a simple programme written by one person, this works fine. ...
Chapter 3 - Software Project Management - Estimation, Scheduling and Metrics
White diamond - aggregation (a part of) Cost Estimation Techniques Expert Judgement Past Expe...
Chapter 4 - Scrum
Scrum Project Management Scrum is an agile process that allows for focus on delivering the highe...
Chapter 5 - User Stories
A user story is a form of Agile Requirements specification. A concise, written description of ...
Chapter 6 - Testing Strategies
Typically a fault leads to an error, and the error will ultimately lead to a failure. Failure: a...
Extra notes - Use cases
Use case A use case is a description of a set of sequences of actions, including variants, that ...
Chapter 7 - Requirements Engineering - Use cases
Gathering requirements Many different perspectives: Manager Administrator Operator Directo...
Misc
See CSC2045 deliverables diagram Use case diagram will not be a single button click. It will li...
Chapter 8 - Requirements Engineering - Analysis
Requirements are documents as use cases. (Text based descriptions). Each use case will have a pro...
Chapter 9 - Software Design - UML and Class Diagrams
Objects Object: An item that has a hidden internal structure. This hidden structure is manipulat...
Chapter 11
Software implementation from UML Mapping the model to code Operations on the object model ...
Chapter 12
Software design quality Design strategies Functional design The system is designed from a func...
Anomali
Functional testing Used to verify that a piece of software is providing the same output as requ...
Chapter 10 - State Diagrams
State dependent behaviour This is where objects respond differently depending on their condition...
Chapter 13 User Interface Design
The golden rule of UI design A user interface is well-designed when the programme behaves exac...
Real world TDD
12 factor net cloud foundry SOLID design pricipals Test cases must not depend on system state ...
Chapter 15 - Design patterns for IO and storage
Designing for output In the restaurant example, the UI needs to display the current state of the...
Chapter 16 - Further Agile
The bad Deprecation of upfront tasks It's difficult to fully comprehend requirements until syst...
Revision Notes
Revision lecture
Function point analysis The vocabulary that comes from mainframe computing When it talks about...
Software process and software assurance
Software process models Waterfall model Separate and distinct phases of specification and devel...
Software project management
Function point analysis (FPA) The number of the following system components are considered: Ex...
Scrum project management
Scrum is an agile process that focuses on delivering the highest business value in the shortest...
Software verification
Black-box testing The programme test cases in black box testing are based on the system specific...
Requirements engineering
Requirement elicitation Interviews Interviews tend to give the best information. However, they ...