You are on page 1of 4

A team of software developers working on a software project currently sits in a room where a display

screen has been installed and all team members can view this screen. This display screen has two
parts: one part lists the requirements for the project and the second part shows tasks assigned to
each team member. The requirements are usually posted on this display screen through a team
lead’s machine on receipt of requirements from any stakeholder. The requirements are immediately
visible on the shared display screen. The exact contents of the shared display screen can also be
seen by the team members on their computer screens if they choose so. The members can modify
the status of each of the tasks assigned to them or they can update a requirement’s statement to
improve clarity. Any change in requirements is instantly visible on the shared display screen. A
software application facilitates this visual communication between the developers.

a. Which architectural style(s) is/are the most appropriate for this software application? Give a brief
justification (not more than 3 lines) for your answer.

Most appropriate architectural style(s):


Justification:___________________________________________________________________

_____________________________________________________________________________

_____________________________________________________________________________

b. Assuming that repositories (i.e. data stores) can be used with any architectural style you have
studied in this course, use arrows and boxes to draw a diagram below showing the
architecture for this software application. Cylindrical icons can be used to show repositories.

School of Computer Science Page 1


School of Computer Science Page 2
You have been asked to design a customer relationship management (CRM) system. This CRM
system needs to provide a single view of customers using information stored in different data
sources. Address information of all customers (walk-in and online) is stored in one data source.
Other information (e.g. name, phone number, etc.) about online and walk-in customers resides in
two additional data sources – one for walk-in customers and one for online customers. An existing
module is used to combine all of this customer information from these three different data sources.
After the data has been combined, it is split into three streams. Stream one consists of records with
missing zip-codes, stream two consists of records with incomplete zip-codes, and stream three
consists of records with complete and correct zip-codes. Data in streams one and two needs to be
corrected. Missing zip-codes are looked-up from a zip-code repository for assignment. Similarly,
incomplete zip-codes are also looked up from the same zip-code repository for completion. Finally,
the split data (after necessary correction, when needed) is merged and then displayed.

a. Which architectural style(s) is/are the most appropriate for this CRM system? Give a brief
justification (not more than 3 lines) for your answer.

Most appropriate architectural style(s): _____________________________________________

Justification:___________________________________________________________________

_____________________________________________________________________________

_____________________________________________________________________________

b. Assuming that repositories (i.e. data stores) can be used with any architectural style you have
studied in this course, use arrows and boxes to draw a diagram below showing the
architecture for this CRM system. Cylindrical icons can be used to show repositories.

School of Computer Science Page 3


School of Computer Science Page 4

You might also like