SYSTEMS ANALYSIS & DESIGN
Case study for both Sections A and B
BCS Builders
BCS Builders is a company offering house building and property improvement services to the public. The proprietor of the company employs a number of skilled workers such as bricklayers, carpenters and plumbers. The proprietor manages the building projects himself, and may occasionally help with the construction work. BCS Builders wants to computerise the management of building work.
This includes processing of estimates, job scheduling, and payments as described below in more detail. When a customer contacts the company to ask for an estimate, the proprietor makes a note of the customer’s contact details and an outline of the proposed work.
He agrees a date with the customer to view the property in order to give an estimate of the cost for the work. When visiting the property on the agreed date the proprietor adds more detail to the outline of the proposed work. Within 3 days of visiting the property the proprietor produces a fully detailed estimate and sends it to the customer.
If the customer agrees the estimate, the proprietor schedules a date to start the job (this is based on the size of the job and other jobs that have already been scheduled).
A few days before the agreed start date of a job, the proprietor contacts the customer to confirm the start date, and then orders the required building materials from suppliers to be delivered on the date the job starts. At the end/completion of the job the proprietor calculates the actual cost of the job to produce an invoice which is sent to the customer. The customer has 30 days to pay the invoice.
Section A
Answer Section A questions in Answer Book A
A1.
a) Produce a top level data flow diagram representing the management of building jobs in the BCS Builders company (described in the case study).
b) Compare the technique of data flow modelling with business activity modelling. There is no need to model the BCS Builders company scenario again but you should describe the notation of the business activity model as part of your comparison.
A2.
a) Two common techniques for gathering requirements are interviews and workshops. Choose ONE of these techniques and describe how an analyst would prepare for it and carry it out.
b) For the technique you have chosen in part (a) discuss its advantages and disadvantages for requirements gathering.
A3.
a) Explain how Graphical User Interface (GUI) design techniques may be used in different phases of the System Development Life Cycle (SDLC) (6 marks)
b) It is important that software systems work with clean, valid data. How can the User Interface be designed to help ensure that data entered by the user is valid?
Section B
Answer Section B questions in Answer Book B
B4. This question refers to the case study described above (i.e. BCS Builders). The table below shows an example of a list of jobs which have been carried out recently.
Job code: G3
|
Job description: General- internal
|
Customer No.: 23
|
Customer name: J Smith
|
|
Material code: B2
|
Material name: Bricks- standard
|
Quantity: 100 packs
|
|
Material code: C3
|
Material name: Cement -
Portland
|
Quantity: 40 kg
|
|
|
|
|
Job code: B2
|
Job description: General -bath
|
Customer No.: 12
|
Customer name: G Holmes
|
|
Material code: T3
|
Material name: Tiles-standard
|
Quantity: 10 packs
|
|
....
|
|
....
|
Job code: K1
|
Job description: Basic -kitchen
|
Customer No.: 17
|
Customer name: B Brown
|
|
Material code: P8
|
Material name: Paint -prof.
|
Quantity: 10 litres
|
|
|
|
|
|
|
|
|
a) Normalise the table to produce a set of relations in the Third Normal Form. You must show all of your working explaining each step.
b) Draw an Entity Relationship Diagram (ERD) using the relations in part a).
c) Give a brief explanation of denormalisation in database design.
B5.
a) Provide a brief explanation of the following concepts in object orientation:
(i) Class and object,
(ii) Encapsulation,
(iii) Message passing.
b) Consider the following extra information about the BCS Builders company described above:
“There are two types of suppliers of building materials: local suppliers and foreign suppliers. The following data are stored about each local supplier: Supplier No, Supplier name, Email address, Town. The attributes of each foreign supplier are: Supplier No, Supplier name, Email address, Country, Currency. An object of class Supplier_Order consists of an order header followed by order lines.”
Explain the following relationships between classes using examples from the BCS Builders system to illustrate your answers:
(i) Association,
(ii) Aggregation or Composition, and
(iii) Generalisation/Inheritance.
The examples should show relevant fragments of a class diagram.
Explain also the differences between generalisation/inheritance and aggregation relationships between classes.
B6.
a) Discuss briefly the purpose of Sequence Diagrams.
b) Produce a sequence diagram for the use case ‘Create supplier order’ in the BCS Builders system described above. A brief description of this use case is given below.
“A list of all suppliers is displayed by the system. The proprietor selects one supplier and the system displays the supplier’s details, creates the ‘partial’ supplier order, and displays the list of all building materials provided by this supplier. The manager selects materials from the list which are added to the order. Finally, the new order details are displayed”.
c) Produce a state machine/chart for the class Job in the BCS Builders system. You may assume that objects of this class are affected by the following ‘events’ (listed below in alphabetical order):
Archive a job – to remove the specified job from the system,
Cancel a job – to cancel an already scheduled job
Complete a job
Confirm a job
Schedule new job