SOFTWARE ANALYSIS & DESIGN
2018/2019, Semester 1
Non-Faculty-Based Departments (Institute Of Systems Science)
Modular Credits: 8
Software Analysis and Design
This module is compulsory for all SE students.
The module answers the question of what should take place before coding can start, given the user requirements. It covers in details the steps required to get from the requirements specification through the detailed design specification using a use case-driven development approach along with Unified Modelling Language notations. This module is compulsory for all SE students.
Given the User Requirements Specification, Requirements Modelling is performed to analyse the functional requirements to produce the Use Case Model which comprises actors, use cases, relationships among actors and/or use cases as well as the description of use cases. The Domain Object Model is also produced to capture the essential business objects of the system.
Analysis Modelling is then performed for a use case where analysis objects are identified along with their state and responsibilities without considerations for implementation. The newly identified information are captured in the Analysis Model.
Based on the non-functional requirements in the User Requirements Specification, a Software Architecture is crafted for a suitable implementation platform; design strategies are devised for the operating environment. Design Modelling is then performed to transition the analysis objects in the Analysis Model to design objects with full class details in the Design Model.
Finally the system is implemented according to the Design Model. The source code are tested and documented.
An assignment would run through the four stages of Requirements, Analysis, Design and Implementation. The students are to demonstrate their competencies in the skills required in those stages.
Understand the phases of the use case-driven development lifecycle associated with requirements, analysis and design: the Requirements Model, the Analysis Model, the Software Architecture and the Design Model.
Able to apply UML in different phases of the use case-driven development lifecycle.
Understand the form and purpose of the main deliverables for the Requirements Model, the Analysis Model, the Software Architecture and the Design Model.
Able to use the modelling tools to produce the deliverables for the Requirements Model, the Analysis Model, the Software Architecture and the Design Model.
Able to craft the Software Architecture for a suitable implementation platform and the associated design strategies.
Able to implement the Design Model using an object oriented programming language.
Able to apply the principles learnt to implement the Design Model using the Java programming language.
Able to test a use case-driven-based system.
Able to document the source code.
Prerequisites from SG4001:
Object Oriented Programming
Software Engineering Process