Software Design Description (SDD) sample

  1. Software Design Description
    Version

    1.1
    December 8, 2003
    Web Accessible Alumni Database
    Michael J. Reaves
    Submitted in partial fulfillment
    Of the requirements of
    Masters Studio Project

  2. Table of Contents
    Table

    of Contents……………………………………………………………………………………………………………………………ii
    Table of Figures……………………………………………………………………………………………………………………………..iii
    1.0. Introduction………………………………………………………………………………………………………………………………1
    1.1. Purpose………………………………………………………………………………………………………………………………..1
    1.2. Scope……………………………………………………………………………………………………………………………………1
    1.3. Glossary……………………………………………………………………………………………………………………………….1
    1.4. References…………………………………………………………………………………………………………………………….2
    1.5. Overview of document…………………………………………………………………………………………………………..2
    2.0. Deployment diagram…………………………………………………………………………………………………………………4
    3.0. Architecture design……………………………………………………………………………………………………………………4
    3.1. Web System Architecture……………………………………………………………………………………………………….4
    Alumni Home Page…………………………………………………………………………………………………………………..5
    Survey…………………………………………………………………………………………………………………………………….5
    Entries…………………………………………………………………………………………………………………………………….6
    Search/E-mail an Alum……………………………………………………………………………………………………………..7
    Alumni Database……………………………………………………………………………………………………………………..9
    4.0. Data structure design……………………………………………………………………………………………………………….11
    4.1. Data field types and sizes…………………………………………………………………………………………………….11
    5.0. Use case realizations………………………………………………………………………………………………………………..12
    Use Case: Survey……………………………………………………………………………………………………………………….12
    Use Case: Add Entry………………………………………………………………………………………………………………….13
    Use Case: Update Entry………………………………………………………………………………………………………………14
    Use Case: Search/E-mail Alum……………………………………………………………………………………………………14
    6.0. Interface design……………………………………………………………………………………………………………………….15
    Figure 23 Return used instead of Submit………………………………………………………………………………………….22
    7.0. Help system design………………………………………………………………………………………………………………….23
    8.0. Index……………………………………………………………………………………………………………………………………..24
    ii

  3. SDD 05/08/14
    Table of

    Figures
    Figure 1 Deployment Diagram………………………………………………………………………………………………………….4
    Figure 2 Architecture Design…………………………………………………………………………………………………………….4
    Figure 3 System Sequence Diagram…………………………………………………………………………………………………12
    Figure 4 Survey Sequence Diagram…………………………………………………………………………………………………12
    Figure 5 Entries Sequence Diagram…………………………………………………………………………………………………13
    Figure 6 Add Entry Sequence Diagram…………………………………………………………………………………………….13
    Figure 7 Update Entry Sequence Diagram………………………………………………………………………………………..14
    Figure 8 Search/E-mail Sequence Diagram……………………………………………………………………………………….14
    Figure 9 Home page……………………………………………………………………………………………………………………….15
    Figure 10 Entries page……………………………………………………………………………………………………………………16
    Figure 11 New Alum form page………………………………………………………………………………………………………16
    Figure 12 Recorded added page………………………………………………………………………………………………………17
    Figure 13 Get year page………………………………………………………………………………………………………………….17
    Figure 14 Get Alum page……………………………………………………………………………………………………………….18
    Figure 15 Get password page………………………………………………………………………………………………………….18
    Figure 16 Data retrieved page………………………………………………………………………………………………………….19
    Figure 17 Data to update page…………………………………………………………………………………………………………19
    Figure 18 Record updated page……………………………………………………………………………………………………….20
    Figure 19 No year alert…………………………………………………………………………………………………………………..20
    Figure 20 Return used instead of Submit………………………………………………………………………………………….21
    Figure 21 Incorrect year page………………………………………………………………………………………………………….21
    Figure 22 Incorrect password page…………………………………………………………………………………………………..22
    Figure 23 Return used instead of Submit………………………………………………………………………………………….22
    iii

  4. SDD 05/08/14
    1.0. Introduction
    1.1.

    Purpose
    This Software Design Document provides the design details of Jacksonville State
    University Computing and Information Sciences Web Accessible Alumni Database
    (CISWAAD).
    The expected audience is Jacksonville State University Computing and Information
    Sciences Faculty, including Dr. Martin and studio committee members, the CISWAAD
    developers, and the people who will maintain the CISWAAD. It will also serve as a
    reference for Studio students.
    1.2. Scope
    This document contains a complete description of the design of CISWAAD.
    The basic architecture is a web server from a client server paradigm. The basic pages
    will be in HTML and JSP.
    The designated faculty member in charge of the CISWAAD will have full access to
    make changes, as he/she deems necessary. The changes could include, but not limited to,
    changing the survey questions, data collected on each Alum, and the ability for one Alum
    to e-mail another Alum.
    1.3. Glossary
    Term Definition
    Alum Graduate of Jacksonville State University
    Computing and Information Sciences
    Department
    BDE Borland Database Engine
    CI Configuration Item
    CIS Computing and Information Sciences
    Department
    Html Hyper text markup language
    IEEE Institute of Electrical and Electronic
    Engineers
    1

  5. SDD 05/08/14
    QA Quality

    assurance
    SCMP Software Configuration Management Plan
    SDD Software Design Document
    SEI Software Engineering Institute, Pittsburgh,
    Pa
    SQAP Software Quality Assurance Plan
    SRS Software Requirement Specification
    Tbd To be decided
    Tbn To be named
    Web Site A place on the world wide web
    1.4. References
    [IEEE] The applicable IEEE standards are published in “IEEE Standards Collection,”
    2001 edition.
    [Bruade] The principal source of textbook material is “Software Engineering: An Object-
    Oriented Perspective” by Eric J. Bruade (Wiley 2001).
    Reaves, Michael J. “Software Project Management Plan Jacksonville State University
    Computing and Information Sciences Web Accessible Alumni Database.”
    Jacksonville State University, 2003.
    Reaves, Michael J. “Software Requirement Specifications Jacksonville State University
    Computing and Information Sciences Web Accessible Alumni Database.”
    Jacksonville State University, 2003.
    1.5. Overview of document
    The remaining chapters and their contents are listed below.
    Section 2 is a Deployment Diagram that shows the physical locations where the
    system actually exists. This allows a clear explanation of where each design entity will
    reside. Each part will work in unison to accomplish each requested task.
    Section 3 is the Architectural Design that specifies the design entities that collaborate
    to perform all the functions included in the system. Each of these entities has an Abstract
    description concerning the services that it provides to the rest of the system. In turn, each
    2

  6. SDD 05/08/14
    design entity

    is expanded into a set of lower-level design operations that collaborate to
    perform its services.
    Section 4 concerns the Data Structure Design.
    Section 5 contains the Use Case Realizations. Each Use Case stated in the SRS
    Document can be traced by the given design objects.
    Section 6 discusses the User Interface Design, and how it can be created with
    maximum user efficiency and ease of use.
    Section 7 covers the help system.
    3

  7. SDD 05/08/14
    2.0. Deployment

    diagram
    Error! Not a valid link.
    Figure 1 Deployment Diagram
    The CIS Alumni database is external to the web system. All of the pages for the
    web site will reside on the departmental server.
    3.0. Architecture design
    3.1. Web System Architecture
    Figure 2 Architecture Design
    4

  8. SDD 05/08/14
    Alumni Home

    Page
    Name: Alumni Home page
    Type: Web page
    Description: This is the initial home page presented to the Alum upon connection with
    the Departmental Server. There are three buttons. One to fill out a survey, one to go to
    the entries page, and one to search/e-mail an Alum.
    Attributes: None
    Resources: None
    Operations:
    Name: Select()
    Arguments: None
    Returns: No return value
    Pre-condition: Connected to site
    Post-condition: On another page
    Exceptions: None
    Flow of Events:
    1. Alum is presented with the Alumni Home Page.
    2. Alum clicks a button
    3. Alum is connected to another page
    Survey
    Name: Survey Page
    Type: Web page form
    Description: When the Alum clicks the survey button he/she will be presented with a
    form. The form will have a combination of list boxes and blank fields to be completed.
    Some fields will be marked as required. When the form is completed the Alum can
    submit the form or clear the form. If the form is cleared the Alum can then enter
    information. If the form is submitted the information is saved on the Departmental
    Server in the Alumni Database.
    Attributes: Text
    Resources: None
    Operations:
    Name: Submit()
    Arguments: None
    Returns: Text file
    Pre-condition: Connected to site
    Post-condition: Form saved and faculty member e-mailed
    Exceptions: None
    Flow of Events:
    1. Alum is presented with form
    2. Alum fills in boxes and selects from list boxes
    3. Alum clicks submit
    4. Departmental server save data in a text file
    5. Departmental server sends an e-mail to designated faculty member
    Name: Clear()
    Arguments: None
    5

  9. SDD 05/08/14
    Returns: No

    return value
    Pre-condition: Connected to site
    Post-condition: Form is cleared
    Exceptions: None
    Flow of Events:
    1. Alum is presented with form
    2. Alum fills in boxes and selects from list boxes
    3. Alum clicks clear
    4. Alum is presented with empty form
    Entries
    Name: Entries
    Type: Web page
    Description: This page has two links, one to add a new entry and on to update the Alum’s
    entry.
    On the Add New Entry page the Alum is presented with a form to be completed.
    Once the Alum has completed the form the Alum can then either submit or clear the
    form. When the form is submitted the Departmental Server will check to ensure that the
    required fields are not blank. If the required fields are blank the Departmental Server will
    return a message stating a required field is blank. The all required fields are not blank the
    Departmental Server will create a new record in the Alum Table in the Alumni Database.
    On the Update Information page the Alum will be presented with a drop down
    box list of years of graduation. The Alum chooses one of those years and clicks submit.
    The Departmental Server will return a list of all Alums from that year. The Alum will
    check his/her name and click submit. The Departmental Server will present a form
    requesting the Alum’s password. The Departmental Server will check the password
    against the password stored in the Alum’s record in the Alumni Database. If the
    passwords match the Departmental Server will return all of the data in that Alum’s record
    in a form with a message to update whatever information they wish and click submit or
    click cancel to make no changes. If the passwords do not match, the Departmental Server
    will return a message to contact the faculty member in charge of the Alumni Database to
    receive their password.
    Attributes: None
    Resources: None
    Operations: New
    Name: Submit()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: New entry in Alumni database created
    Exceptions: None
    Flow of Events:
    1. Alum is on the Add Entry form
    2. Alum completes the empty boxes and chooses from list boxes.
    3. Alum clicks submit.
    4. Departmental server add the new entry to the Alumni Database
    6

  10. SDD 05/08/14
    5. Alum

    is returned to the Alum Home Page
    Name: Clear()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: Form is cleared
    Exceptions: None
    Flow of Events:
    1. Alum is presented with form
    2. Alum fills in boxes and selects from list boxes
    3. Alum clicks clear
    4. Alum is presented with empty form
    Operations: Modify entry
    Name: Submit()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: Year selected is sent to the Departmental server
    Exceptions: None
    Flow of Events:
    1. The Alum is on the Update Entry Page
    2. The Alum is presented with a form that has a list box of years of graduation.
    3. The Alum chooses a year.
    4. The Alum clicks submit.
    5. The Departmental server returns a list of all graduates in the Alumni Database
    that graduated that year.
    Name: Cancel()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: Form is cleared and Alum is returned to the Alumni Home Page
    Exceptions: None
    Flow of Events:
    1. The Alum is on the Update Entry Page form
    2. The Alum fills in the fields he/she want to change
    3. The Alum clicks cancel
    4. The form is cleared and the Alum is returned to the Alumni Home Page
    Search/E-mail an Alum
    Name: Search/E-mail an Alum
    Type: Web page
    Description: The Alum is on the search/e-mail page. The Alum is presented with a list
    box of graduation date. The Alum chooses a date and clicks submit. The Departmental
    server queries the Alumni Database for all Alums that graduated that year. The
    Departmental server presents the Alum with a list of graduates. If the Alum that the
    7

  11. SDD 05/08/14
    requesting Alum

    is searching for is listed, the Alum will check the box next to his/her
    name and click submit. The Departmental server will retrieve the non-sensitive
    information about the requested Alum and present it to the Alum. The Alum can then
    either search for another Alum, e-mail that Alum if that Alum will accept e-mail, or
    return to the Alumni Home Page. If the Alum chooses to e-mail the Alum, the
    Department server will present the Alum with a box for the e-mail. The Alum then fills
    in the message to send and click send. The Departmental server will e-mail the message
    to the Alum with the sending Alum’s name and return the Alum to the search/e-mail
    page.
    Operations:
    Name: Submit()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: Year/name is sent to the Departmental server
    Exceptions: None
    Flow of Events:
    1. The Alum is on the search/e-mail page.
    2. The Alum chooses a year/name from the list box
    3. The Alum clicks submit.
    4. The Departmental server queries the Alumni Database for the information
    5. If the information is present, the Departmental server will present it to the
    Alum.
    Name: Cancel()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: Form is cleared and Alum is returned to the Alumni Home Page
    Exceptions: None
    Flow of Events:
    1. The Alum is on the search/e-mail page
    2. The Alum clicks cancel
    3. The Departmental server returns the Alum to the Alumni Home Page
    Name: Send()
    Arguments: None
    Returns: None
    Pre-condition: Connected to site
    Post-condition: The message is e-mailed to the requested Alum and the requesting
    Alum is returned to the Alumni Home Page
    Exceptions: None
    Flow of Events:
    1. The Alum is on the e-mail page.
    2. The Alum types his/her message in the message box.
    3. The Alum clicks send.
    4. The Departmental server sends the message to the requested Alum and returns
    the requesting Alum to the search/e-mail page.
    8

  12. SDD 05/08/14
    Alumni Database
    Name:

    Alumni Database
    Type: Database
    Descriptions: The Alumni Database will reside on the Departmental server. The Alumni
    Database will be created and maintained in Access.
    Attributes: Last Name: String
    First Name: String
    Maiden Name: String
    Address: String
    City: String
    State: String
    Zip: int
    Year Graduated: int
    Additional Degrees: String
    Spouse: String
    Children: String
    Current Employment: String
    E-mail Address: String
    Receive e-mails: boolean
    Password: String
    Operations:
    Name: New()
    Arguments: None
    Returns: None
    Pre-condition: None
    Post-condition: A new record is added to the Alumni Database Table
    Exceptions: None
    Flow of Events:
    1. The Alum is on the add an entry form page.
    2. The Alum fields in the fields
    3. The Alum clicks submit
    4. The Departmental server adds the new information as a table in the Alumni
    Database
    Name: Replace()
    Arguments: None
    Returns: None
    Pre-condition: The requested Alum is in the Alumni Database
    Post-condition: The requested table is replaced with the new table
    Exceptions: None
    Flow of Events:
    1. The Alum is on the update entry page
    2. The Alum changes the field he/she wants changed
    3. The Alum clicks submit
    4. The Departmental server overwrites the existing table with the new table
    Name: Search()
    9

  13. SDD 05/08/14
    Arguments: None
    Returns:

    Record
    Pre-condition: None
    Post-condition: The Alumni Database has been searched
    Exceptions: None
    Flow of Events:
    1. The Departmental server searches the Alumni Database for a particular record
    2. If the record is found the Departmental Server presents the record to the Alum
    10

  14. SDD 05/08/14
    4.0. Data

    structure design
    The data is stored in a relational database using Access. The relations are
    described by the database administrator for the CIS. The fields for transmitting to and
    from the database are given in the following table.
    4.1. Data field types and sizes.
    Attribute Name Attribute Type Attribute Size
    LastName*# String 30
    FirstName*# String 30
    MaidenName*# String 30
    Address1*# String 50
    Address2# String 50
    City*# String 30
    State*# String 2
    Zip*# Int 6
    Year*# Int 4
    AdditionalDegrees# String 50
    Spouse# String 30
    Children# String 50
    CurrentEmployment# String 50
    EmailAddress# String 20
    ReceiveEmails#^ Boolean 1
    Password*# String 10
    EntireRecordVisible*^ Boolean 1
    Fields marked with an ‘*’ are required fields. Fields marked with a ‘#’ can be
    visible or not visible and is determined by the Alum. Fields marked with a ‘^’ are never
    visible to anyone other than the Alum.
    11

  15. SDD 05/08/14
    5.0. Use

    case realizations
    Figure 3 System Sequence Diagram
    Use Case: Survey
    See also Detail Survey in Software Requirement Specifications 3.2.
    Figure 4 Survey Sequence Diagram
    12

  16. SDD 05/08/14
    Figure 5

    Entries Sequence Diagram
    Use Case: Add Entry
    See also Detail Add Entry in Software Requirement Specifications 3.2.
    Figure 6 Add Entry Sequence Diagram
    13

  17. SDD 05/08/14
    Use Case:

    Update Entry
    See also Detail Update Entry in Software Requirement Specifications 3.2.
    Figure 7 Update Entry Sequence Diagram
    Use Case: Search/E-mail Alum
    See also Detail Search/E-mail Alum in Software Requirement Specifications 3.2.
    Figure 8 Search/E-mail Sequence Diagram
    14

  18. SDD 05/08/14
    6.0. Interface

    design
    The interface will use the same color and design scheme used on the other
    Jacksonville University Web pages to create a continuous effect. The exact pages will be
    placed here in a future version.
    Figure 9 Home page
    15

  19. SDD 05/08/14
    Figure 10

    Entries page
    Figure 11 New Alum form page
    16

  20. SDD 05/08/14
    Figure 12

    Recorded added page
    Figure 13 Get year page
    17

  21. SDD 05/08/14
    Figure 14

    Get Alum page
    Figure 15 Get password page
    18

  22. SDD 05/08/14
    Figure 16

    Data retrieved page
    Figure 17 Data to update page
    19

  23. SDD 05/08/14
    Figure 18

    Record updated page
    Figure 19 No year alert
    20

  24. SDD 05/08/14
    Figure 20

    Return used instead of Submit
    Figure 21 Incorrect year page
    21

  25. SDD 05/08/14
    Figure 22

    Incorrect password page
    Figure 23 Return used instead of Submit
    22

  26. SDD 05/08/14
    7.0. Help

    system design
    At this time there is no help system needed or planned.
    23

  27. SDD 05/08/14
    8.0. Index
    Administrator…………………………………11
    Attributes………………………………….5,

    6, 9
    Audience…………………………………………1
    Borland Database Engine…………………..1
    Configuration Item……………………………1
    Customer…………………………………………5
    Database………1, 2, 4, 5, 6, 7, 8, 9, 10, 11
    Function………………………………………….2
    Institute of Electrical & Electronic
    Engineers……………………………………..1, 2
    Quality Assurance…………………………….2
    Resources…………………………………….5, 6
    Server…………………..1, 4, 5, 6, 7, 8, 9, 10
    Software Configuration Management
    Plan………………………………………………..2
    Software Design Document……………1, 2
    Software Engineering Institute……………2
    Software Project Management Plan…….2
    Software Quality Assurance Plan……….2
    Software Requirement Document……2, 3
    System…………………………..2, 3, 4, 12, 23
    Use Case………………………………………..12
    24

Xổ số miền Bắc