Вы находитесь на странице: 1из 3

HCT210: Software Engineering

2019 Semester 2

Assignment 2 : Design

Due Date & Time: Monday, 04 November 2017 12:59:59 PM

Submission format: Document uploaded on Tsime. The assignment is to be done by hand on plain
bond paper; and then scanned into 1 PDF document that is then submitted on Tsime. There must be
a small footer at the end of each page that is handwritten and containing name and student
registration number. Late submissions not accepted. Late submissions that are accepted upon valid
reasons will incur a heavy penalty.

Case study
Use:

i. Case Study from Assignment 1


ii. Requirements models (your own) from Assignment 1

Answer the following questions.

Questions
Apply software engineering techniques to come up with the following models for the case
study.

1. Design Concepts

1.1. Name and explain any three (3) design concepts [9 marks]

2. Architectural design
2.1. Create an Architectural Context Diagram (ACD) for the Banking System is the case study; using
the template discussed in the notes. Clearly show peers, actors, subordinate and superordinate
systems. [14 marks]
2.2. For every peer, actor, subordinate and superordinate system in the ACD, explain its role [4
marks]
3. Component Level Design
3.1. Elaborate the analysis class diagram (from Q2.1. and Q2.2. in Assignment 1) from the
Requirements Models by adding detailed attributes using Java data types. [21 marks]

3.2. For the following operations, elaborate them to show detail; as described in the notes (Step 3a
under Component-level design). Include data types for arguments.
3.2.1. Withdraw (of BankAccount class)
3.2.2. Deposit (of BankAccount class)
3.2.3. Calculate Interest (of SavingsAccount class)

[18 marks]

3.3. For the BankAccount class, elaborate all the attributes using the technique described in the
notes (Step 3c under Component-level design). [5 marks]

3.4. For the following operations, write pseudocode to illustrate the logic of their algorithms.
3.4.1. Withdraw (of BankAccount class)
3.4.2. Apply Interest for all Saving Accounts (the one run at the end of every month)
3.4.3. Charge monthly charges for all Bank Accounts (the one run at the end of every month)

[15 marks]

3.5. Do the following steps to come up with a Components (Packages) design of the system:
3.5.1. Draw a class diagram with all the classes and all the class relationships including their
multiplicity. The classes should just have the name only (ignore attributes & operations
sections of the class) so that the diagram is clear. [3 marks]
3.5.2. From studying the relationships of the classes, and using the principles of low coupling and
high cohesion, come up with Packages that you would suggest for the system. Specify the
classes inside each package, and also suggest meaningful names for the packages. [9 marks]

[12 marks]
4. User Interface Design

4.1. Name the three "golden rules" of UI Design and explain them. For each, give 2 examples [12
marks]
4.2. Design all the UI screens for the use case "Withdraw Funds". Draw them by hand on A4 size
paper. Include all fields, information, buttons, page titles, and GUI components. The screens
should cover the all the use case scenarios: main success scenario [7], any alternative scenarios
[5] and any exceptions [3]. They should show clearly who will be using the screen. [15 marks]

5. Design Patterns

5.1. Select three (3) patterns from each of the following three (3) categories of the “GoF” patterns:
5.1.1. Creational patterns (excluding Singleton & Factory patterns that were done in class),
5.1.2. Structural patterns,
5.1.3. Behavioural patterns;

and explain each of those patterns using the following template to explain each pattern:

Name:

Problem:

Solution: (how the pattern solves the problem)

Context: (within which the pattern applies)

(for clarity; you are going to describe a total of 9 patterns, 3 in each category)

[36 marks]

5.2. Select 3 patterns for Q5.1. above; 1 pattern from each category, and write the basic example
implementation code of the pattern in Java. [9 marks]

Total: 170 marks

Вам также может понравиться