traderz unlimited rational sad (1)

Upload: rhen-rhen-lynanier

Post on 05-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    1/21

    Sample Software ArchitectureDocument

    Swapping Skillz n Thingz 1.0

    Traderz UnlimitedTeam 2

    CONTENT OWNERS:Kashifuddin Qazi

    Paulius Mikalainis

    Rohit Warang

    Salman Virk

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    2/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    SAD Revision History

    Date Version Description Author

    2009-04-16 0.1 Significant Use-Cases : the key

    requirements

    TU

    Architecture Team

    2009-04-18 0.2 Candidate architecture : the high level

    architecture of the system

    TU

    Architecture Team

    2009-04-19 0.3 Initial Deployment Model TU

    Architecture Team

    2009-04-21 0.4 Key abstractions : the key data elements

    used in the system

    TU

    Architecture Team

    2009-04-22 1.0 Delivered TU

    Architecture Team

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 2 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    3/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    Table of Contents

    1. INTRODUCTION ............................................................................................................................................................4

    1.1 PURPOSE..................................................................................................................................................................4

    1.2 SCOPE...................................................................................................................................................................... 4

    1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS.............................................................................................................5

    1.4 REFERENCES.............................................................................................................................................................5

    1.5 OVERVIEW................................................................................................................................................................ 6

    2. ARCHITECTURAL REPRESENTATION ............................................................................................................... .6

    3. ARCHITECTURAL GOALS AND CONSTRAINTS (NON-FUNCTIONAL REQUIREMENTS) ................ ....7

    3.1 TECHNICAL PLATFORM...............................................................................................................................................7

    3.2 TRANSACTION...........................................................................................................................................................7

    3.3 SECURITY................................................................................................................................................................. 8

    3.4 PERSISTENCE ............................................................................................................................................................ 8

    3.5 RELIABILITY/AVAILABILITY (FAILOVER) ........................................................................................................................8

    3.6 PERFORMANCE..........................................................................................................................................................8

    4. SSNT USE-CASE VIEW ................................................................................................................................................9

    4.1 SSNT ACTORS....................................................................................................................................................... 10

    4.2 USE-CASE REALIZATIONS......................................................................................................................................... 11

    5. LOGICAL VIEW ..........................................................................................................................................................12

    5.1 OVERVIEW.............................................................................................................................................................. 12

    5.2 SSNT RECEIVER-INITIATORSWAPPING SEQUENCE DIAGRAMS......................................................................................14

    SSNT INITIATOR-RECEIVER (ACCEPTS) SWAPPING SEQUENCE DIAGRAMBELOWDISPLAYSHOWTOWEBUSERS INITIATORAND

    RECEIVERINTERACTBETWEENEACHOTHERTHROUGHWEBSERVERDURINGASSETSWAPPINGPROCESSWHEN RECEIVERACCEPTSINITIATORSREQUEST/OFFER: ...........................................................................................................................................14

    5.3 SSNT PROCESS DELIVERY DIAGRAM........................................................................................................................ 15

    .................................................................................................................................................................................. 15

    6. SSNT PROCESS VIEW ...............................................................................................................................................17

    7. SSNT DEPLOYMENT VIEW ................................................................................................................................... .18

    8. DATA VIEW ................................................................................................................................................................. .18

    8.1 SSNT ENTITY RELATIONAL DIAGRAM (ERD) ...........................................................................................................19

    8.2 SSNT RELATIONAL SCHEMA.................................................................................................................................... 19

    9. SIZE AND PERFORMANCE .....................................................................................................................................20

    10. QUALITY ....................................................................................................................................................................21

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 3 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    4/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    1. Introduction

    This document provides a high level overview and explains the whole process of Swapping Skillz n Thingz 1.0. It

    explains how an online user will be able to swap assets on website and it includes the underlying architecturalprocess.

    The document provides a high-level description of the goals of the architecture, the use cases support by the systemand architectural styles and components that have been selected to best achieve the use cases. This framework thenallows for the development of the design criteria and documents that define the technical and domain standards indetail.

    By analogy the architecture of a building has to take into account the use of the building, what are the peopleliving/working in it expecting and then has to define the size, shape, structure and so forth. The architecture has a setof guiding principles as well as known criteria and constraints that shape the proposed architecture. The designersthen have to develop detailed specifications not only for the selection of materials but the placement of wiring,plumbing, lighting and so forth. Finally the building is finished and populated in accordance with the vision outlinedprior to the first pen touching the draftsmens paper.

    1.1 Purpose

    The Software Architecture Document (SAD) provides a comprehensive architectural overview of Swapping Skillz

    n Thingz 1.0 offered by Traderz Unlimited team 2. It presents a number of different architectural views to depict

    different aspects of the system. It is intended to capture and convey the significant architectural decisions which

    have been made on the system.

    In order to depict the software as accurately as possible, the structure of this document is based on the 4+1 model

    view of architecture [KRU41].

    The 4+1 View Model allows various stakeholders to find what they need in the software architecture.

    1.2 Scope

    The scope of this SAD is to depict the architecture of the Swapping Skillz n Thingz 1.0 online application created

    by the company Traderz Unlimited team 2.

    This document describes the aspects of Swapping Skillz n Thingz 1.0 design that are considered to be

    architecturally significant; that is, those elements and behaviors that are most fundamental for guiding the

    construction of Swapping Skillz n Thingz 1.0 and for understanding this project as a whole. Stakeholders who

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 4 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    5/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    require a technical understanding of Swapping Skillz n Thingz 1.0 are encouraged to start by reading this

    document, then reviewing the Swapping Skillz n Thingz 1.0 UML model, and then by reviewing the source code.

    1.3 Definitions, Acronyms and Abbreviations

    SSNT - Swapping Skillz n Thingz 1.0

    PHP - Hypertext Processor scripting language

    MySQL relational database management system (RDBMS)

    HTTP Hypertext Transfer Protocol

    WWW World Wide Web

    Apache Web Server

    TU - Traderz Unlimited

    SAD - Software Architecture Document

    RUP - Rational Unified Process

    UML Unified Modeling Language

    Asset - An asset is any skill or good that can be offered to or requested for by users.

    Generic User - This is any user who is registered on the website and wants to offer or request

    assets.

    Initiator - This is a user who initiates a transaction by offering an asset or requesting for one.

    Receiver - This is a user who receives the offer or request made by another user.

    Administrator - This is a webmaster whose primary role is to maintain the website and keep itup and running. He has sound knowledge of web development and database management. He

    has full authority to add or remove anything from the website which he deems necessary.

    Private Profile - This is a collection of personal information of each user. Each user has

    his/her own private profile, which can be accessed only by the respective user or the

    administrator. The private profile contains information such as full name and address of the

    user, email address, area of expertise, interests, requested/offered assets etc.

    Public Profile - This is a collection of information of a particular user that is visible to other

    users. The public profile includes information such as User ID, Asset Category, Asset Title,

    User Ratings etc. A more comprehensive list can be obtained from the Use Cases listed in this

    document.

    1.4 References

    [Vision-Doc]: SSNT, Vision document

    [UC-Doc]: SSNT, Use Case document

    [SRS-Doc]: SSNT, SRS document

    [SDD-Doc]: SSNT, Software Design Document

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 5 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    6/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    [MedBiquitous]: Sample SAD,http://medbiq.org/std_specs/techguidelines/softwarearchitecture.pdf

    [KRU41]: The 4+1 view model of software architecture, Philippe Kruchten, November 1995,

    http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdf

    [RUPRSA]: Developing a J2EE Architecture with Rational Software Architect using the Rational

    Unified Process, IBM DeveloperWorks, Jean-Louis Marchaux, Mars 2005,

    http://www-128.ibm.com/developerworks/rational/library/05/0816_Louis/

    1.5 Overview

    In order to fully document all the aspects of the architecture, the Software Architecture Document contains the

    following subsections.

    Section 2: describes the use of each view

    Section 3: describes the architectural constraints of the system

    Section 4: describes the functional requirements with a significant impact on the architecture

    Section 5: describes the most important use-case realization.

    Section 6: describes designs concurrency aspects

    Section 7: describes how the system will be deployed.

    Section 8: describes any significant persistent element.

    Section 9: describes any performance issues and constraints

    Section 10: describes any aspects related to the quality of service (QoS) attributes

    2. Architectural Representation

    This document details the architecture using the views defined in the 4+1 model [KRU41], but using the RUP

    naming convention. The views used to document the Traderz Unlimited application are:

    Logical viewAudience: Designers.Area: Functional Requirements: describes the design's object model. Also describes the most importantuse-case realizations and business requirements of the system.

    Related Artifacts: Design model

    Process viewAudience: Integrators.

    Area: Non-functional requirements: describes the design's concurrency and synchronization aspects.

    Related Artifacts: (no specific artifact).

    Implementation viewAudience: Programmers.

    Area: Software components: describes the layers and subsystems of the application.

    Related Artifacts: Implementation model, components

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 6 of 21

    http://medbiq.org/std_specs/techguidelines/softwarearchitecture.pdfhttp://medbiq.org/std_specs/techguidelines/softwarearchitecture.pdfhttp://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdfhttp://www-128.ibm.com/developerworks/rational/library/05/0816_Louis/http://medbiq.org/std_specs/techguidelines/softwarearchitecture.pdfhttp://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdfhttp://www-128.ibm.com/developerworks/rational/library/05/0816_Louis/
  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    7/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    Deployment viewAudience: Deployment managers.

    Area: Topology: describes the mapping of the software onto the hardware and shows the system's

    distributed aspects. Describes potential deployment structures, by including known and anticipated

    deployment scenarios in the architecture we allow the implementers to make certain assumptions on

    network performance, system interaction and so forth.

    Related Artifacts: Deployment model.

    Use Case viewAudience: all the stakeholders of the system, including the end-users.Area: describes the set of scenarios and/or use cases that represent some significant, central functionality ofthe system. Describes the actors and use cases for the system, this view presents the needs of the user and iselaborated further at the design level to describe discrete flows and constraints in more detail. This domainvocabulary is independent of any processing model or representational syntax (i.e. XML).

    Related Artifacts : Use-Case Model, Use-Case documents

    Data view (optional)Audience: Data specialists, Database administrators

    Area: Persistence: describes the architecturally significant persistent elements in the data model

    Related Artifacts: Data model.

    3. Architectural Goals and Constraints (non-functional requirements)

    This section describes the software requirements and objectives that have some significant impact on the

    architecture

    3.1 Technical Platform

    Server side

    SSNT will be hosted on one of NJITs AFS Apache web servers and connecting to one of theschools MySQL Database servers. The web server is listening on the web standard port 80.Web server will accept all requests from the clients and forward them to the specific SSNTserver hosting location. All communication with client has to comply with public HTTP, TCP/IPcommunication protocol standards.

    Client SideClients will be able to access SSKNT only on WWW. Clients are requiring using a modern webbrowser such as Mozilla Firefox 1.5, Internet Explorer 6 or Safari 1.0. The target operatingsystems are Windows XP, Vista, Mac OS X Leopard and Linux.

    3.2 Transaction

    SSNT online application is transactional, leveraging the outside payment utilities such as PayPal.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 7 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    8/21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    9/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    4. SSNT Use-Case View

    This is a list of use cases from the use-case model that represent significant, central functionality of the final system.The use-cases with a significant impact on the architecture are [UC-Doc]:

    1. Create an Account

    2. View Private Profile

    3. Edit Personal Information

    4. Post Assets

    5. Search for Assets

    6. View Public Profile

    7. Start Automatic Search

    8. Initiate Request/Offer

    9. Receiver Accep

    10. Receiver Denie

    11. Initiator Accept12. Initiator Denies

    13. Leave Feedback

    14. Post Success Story

    15. Log Off

    16. Edit Profile

    17. Delete Profile

    18. Edit Success Story

    19. Delete Success Story

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 9 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    10/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    4.1 SSNT Actors

    As described in the actors correspondence diagram below, web user could be one of three types:

    1. Web Administrator has enhanced privileges to edit or delete private profiles as well as success stories.

    2. Web User Initiator could as well be a receiver depending if he or she is initiating or receiving an

    offer/request but not both at the same instance. Initiator is a user who initiates a request or an offer.

    3. Web User Receiver could as well be an initiator depending if he or she is initiating or receiving an

    offer/request but not both at the same instance. Receiver is a user who receives requests from initiator for a

    request or an offer.

    System Apache Web Server is the third type of actor and is the system itself. It handles all the physical and

    logical process of the software.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 10 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    11/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    4.2 Use-Case Realizations

    Use case functionality diagram below describes how design elements provide the functionalities identified in the

    significant use-cases. In this diagram generic user is assumed to be the same person as initiator or receiver. Use

    cases are displayed as functionalities for the system. Functionality may enclose more than one use-case. It is

    assumed that signin is default functionality and it has to be implemented before any further functionality will be

    enabled.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 11 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    12/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    5. Logical View

    5.1 Overview

    SSNT is divided into layers based on the N-tier architecture [KRU41].

    The layering model of the SSNT online application is based on a responsibility layering strategy that associates each

    layer with a particular responsibility.

    This strategy has been chosen because it isolates various system responsibilities from one another, so that it

    improves both system development and maintenance.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 12 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    13/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    Each layers specific responsibilities are as follow [RUPRSA]:

    The presentation layer deals with the presentation logic and the pages rendering on SSNT web site. The

    Presentation layer contains all the components needed to allow interactions with an end-user. It

    encompasses the user interface. Snapshots of the prototype view are located in Software Design Document

    [SDD-Doc].

    The control layer manages the access to the domain layer. Control layer contains all the components used

    to access the domain layer or directly the resource layer when this is appropriate.

    The resource layer (integration layer) is responsible for the access to the enterprise information system

    (databases or other sources of information). Resource layer contains the components needed to enable

    communication between the business tier and the enterprise information systems: MySQL Database and

    PayPal service. Refer to data view.

    The domain layer is related to the business logic and manages the accesses to the resource layer. The

    Domain layer contains all the components related to the business logic. It gathers all the subsystems that

    meet the needs of a particular business domain. It also contains the business object model which is

    specified in design document.

    The Common Elementslayer gathers the common objects reused through all the layers like users and

    assets. Common Element layer contains the components re-used within several layers and may be

    determined in the future.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 13 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    14/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    5.2 SSNT Receiver-Initiator Swapping Sequence Diagrams

    SSNT Initiator-Receiver (accepts) Swapping Sequence Diagram below displays how to web users Initiator and

    Receiver interact between each other through web server during asset swapping process when Receiver acceptsInitiators request/offer:

    1. Initiator initiates a request/offer

    2. Server Updates Receivers private profile

    3. Receiver accepts request/offer and pays $1

    4. Server withdraws money from receiver

    5. Server updates Receivers private profile

    6. Server updates Initiators private profile

    7. Initiator accepts and pays $1

    8. Server withdraws money from Receiver

    9. Server swaps Initiators contacts with Receiver

    10. Server swaps Receivers contacts with Initiator

    11. Initiator leaves feedback12. Server updates Receivers private profile

    13. Receiver leaves feedback

    14. Server updates Initiators private profile

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 14 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    15/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    5.3 SSNT Process Delivery Diagram

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 15 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    16/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    SSNTs process delivery diagram displays not only

    the sequence of functionality, interaction between

    events and server responses but also explains the

    logical paths.

    Lets take, for example, the First Page view and call

    the Sign-in function in it. This is how this example

    would be explained:

    1. User fills in the form on the first page clicks

    on sign-in and sending data to the server

    2. Server checks the validity of data and

    response with invalid data by redirecting to

    Reset Password page.

    3. User fills in a form on this page and clicks

    Reset by sending data to the server.

    4. Server validates the data and returns with

    valid data by redirecting user to the First

    Page for Sign in again.

    5. User, this time around, enters correct

    information and clicks to sign in

    6. Server validates the information and

    redirects user to the private profile.

    END

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 16 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    17/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    6. SSNT Process View

    Theres only one process to take into account. The PHP will automatically handle threads which are instances of this

    process.

    The diagram below describes the process circles. There are two process circles:

    User web server circle and web server-database circle. Request message from a user first will travel to a web

    server. Web server first evaluated a request according to the SSNT business rules/requirements and determines if a

    connection to a database needs to be established. If connection is necessary, that is completed first and only then

    user is returned with response from a web server.

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 17 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    18/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    7. SSNT Deployment View

    Global Overview

    SSNTs deployment has not been considered yet. All future code and implementation details will be included in this

    section. Diagram below shows that all of the PHP code will have a physical location on the Apaches web server

    and all of the data entities and relationships will be physically located on the MySQL database server.

    Internet

    LAN/WAN

    Client ClientClient Client

    Firewall

    Web Server Database Server

    8. Data View

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 18 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    19/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    8.1 SSNT Entity Relational Diagram (ERD)

    Entities (rectangles): User, Asset, Message, Success Story

    Relationships (rumbas): Swap, Request, Offer, Gives Feedback, Post (Story), Post (message)

    Initiator may swap assets with many Receivers

    Receiver may swap assets with many Initiators

    User may request/offer many Assets

    Asset must belong to only one User

    User may post many Messages

    Message must belong to only one User

    User may post many success stories

    Success Story must belong to one user

    Attributes are displayed in long ovals.

    8.2 SSNT Relational Schema

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 19 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    20/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    User

    userName firstName secondName DOB sex email password address city state zip country interests

    Asset

    assetId userName title category description offer status

    Swap

    swapId assetId initiator receiver swapTime requested accepted confirmed

    Success Story

    storyId userName description

    Message

    messageID userNameTo userNameFrom messageText postTime

    Feedback

    swapId userNameFrom userNameTo rating comments

    9. Size and Performance

    Volumes:

    Estimated online orders : 100 a day, with peaks in the evening

    SSNT registered individual customer : about 150

    TU corporate customers : about 100

    Performance:

    Time to process and online payment (credit card validation + confirmation) : less that 10 seconds required

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 20 of 21

  • 7/31/2019 Traderz Unlimited Rational SAD (1)

    21/21

    Traders Unlimited: Swapping Skills n' Things 1.0

    Sample Software Architecture Document (version 1.0) Last Updated on 6/13/2012

    10. Quality

    As far as SSNT is concerned, the following quality goals have been identified:

    Scalability:

    Description : Systems reaction when user demands increase

    Solution : SSNT application servers support several workload management techniques

    Reliability, Availability:

    Description : Transparent failover mechanism, mean-time-between-failure

    Solution : : SSNT application server supports load balancing through clusters

    Portability:

    Description : Ability to be reused in another environment

    Solution : The system me be fully SSNT compliant and thus can be deploy onto any NJIT web

    server

    Security:

    Description : Authentication and authorization mechanisms

    Solution : SSNT native security mechanisms will be reused

    Wednesday, June 13, 2012 Traderz Unlimited, 2012 Page 21 of 21