Ads

Pages

Sunday, January 1, 2012

CS504 VU Current Assignment No. 3 Fall 2011

Question: [marks 10+10]

Consider a community website e.g. Facebook.com, which the people from different communities can use to share their status, videos, images, articles etc. with each other.

To use the website a person must be registered member, and for registration the user must have an email address on Gmail, Yahoo or Hotmail (But no other domain).

After registration the person becomes the member of the community, and can share anything with his/her friends.

However to make a friend he/she can have two options:

1) He/she can use the search service provided by the website to search friends (already members of the site), to which he sends the “friend request”, after that person (to whom the request was sent) accepts the request, they both become friends and can share anything with each other.

2) Secondly he/she can select the option “Find friends using email contacts”. In this case the system fetches the contact list from his email account; requests are automatically sent to the persons that are already added in his/her email contacts (and are also the member of this community website). When all these members accept requests they become friends of the requester and can share anything with him/her.

Keeping in mind the Krutchen’s 4+1 architectural view model, develop diagrams to represent (at least one diagram for each):

1) Implementation view (Also called Development View or Code view)

2) Deployment View (Also called Physical view)

Note: you can use any notations and any software to draw the diagrams. For further concepts about Architectural Views, please revise Lecture no. 23

Deployment View:

The deployment view / physical view describe how the system is deployed in terms of its hardware resources [1]

Here in above diagram:

Client PC: is the any client system (desktop PC or mobile even) with a browser (client) application running on it. Members login to the registration server by providing their login information.

Registration Server: Registration server is the central database server (may be a mainframe system) with multiple processes (e.g. login validation and authentication process, contents management process, security related processes, external interface managers etc. etc.), running on it for overall operational site.

External / Remote Server: May be external server e.g. a Google server or Hotmail server etc. which is contacted by the internal (website registration server) through secure communication and interfaces to get needed information e.g. contact lists etc.

Implementation / Code View:

The code view is what a programmer sees. Thus the components of this view are things like classes, objects, procedures, and functions and their abstraction/composition into things like subsystems, layers and modules [1]. For the sake of simplicity we present a top level view of system in terms of main components and sub-components (up to first level only)

References :

[1] “Evaluating software Architectures: Methods and Case Studies”, by Paul Clements,

Rick Kazman, and Mark Klein. 2002 Addison-Wesley.

No comments:

Post a Comment