Docstoc

User's Manual Template - Get as DOC

Document Sample
User's Manual Template - Get as DOC Powered By Docstoc
					BGTracks System                                                CSC 480




                    Software Design Description

                                        For The

                                 BGTracks system
                                    23 October 2009



                                       Prepared for:
                               Boys & Girls Club of Sequoias




                                        Prepared by:
                                      Christopher Horner
                                      Fernandito Eugenio
                                          Heath Ivie
                                        John Hancock
                                       Kenneth Brower
                                        Marlo Castillo
                                        Michael Adams


Software Design Descripti on                                             1
BGTracks System                                                   CSC 480




Revision Sheet
Release No.     Date           Revision Description




Approvals
          Title                  Printed Name         Signature         Date
Client Representative
Project Manger
Project Leader


Software Design Descripti on                                                   2
BGTracks System                                                                                                         CSC 480




                                                      Table of Contents
1.0 Scope......................................................................................................... 4
  1.1 System Overview ...................................................................................... 4
  1.2 Glossary ................................................................................................... 4
     1.2.1 Acronyms/Abbreviations ................................................................................................4
  1.3 Document Overview ................................................................................. 4
2.0 References................................................................................................ 5
3.0 CSCI Overview ........................................................................................ 5
  3.1 CSCI Architecture ................................................................................... 6
     3.1.1 User Interface and Content Delivery CSC ......................................................................6
     3.1.2 Business Rules Implementation CSC .............................................................................7
     3.1.3 Application Interface CSC ..............................................................................................7
     3.1.4 Relational Database CSC/CSU .......................................................................................8
  3.2 General Constraints ................................................................................. 8
     3.2.1 Security Concerns ...........................................................................................................8
     3.2.2 Audits and Compliance ...................................................................................................8
  3.3 Assumptions and Dependencies ............................................................... 8
     3.3.1 Production Environment .................................................................................................8
     3.3.2 Training ...........................................................................................................................8




Software Design Descripti on                                                                                                                  3
BGTracks System                                                                      CSC 480




1.0 SCOPE
1.1 System Overview
This Software Design Document (SDD) specifies the design requirements necessary to provide
the Boys & Girls Club of the Sequoias (BGCS), a secure personnel tracking and management
system. The staff at any of the eleven BGCS sites will use this software to track the presence and
participation of in excess of 500 children. The software will also be used to track the time of
more than seventy- five employees and volunteers.

The software must be an improvement over the existing method of tracking child and staff
activities. Specifically, the software must:

       present a simple and intuitive user interface,
       be capable of scaling from a single office to the entire enterprise,
       use open standards,
       use the simplest of communications methods, and
       be secure.

1.2 Glossary
1.2.1 Acronyms/Abbreviations
    AJAX – Asynchronous JavaScript and XML
    API – Application Programming Interface
    BGCS – Boys & Girls Club of the Sierras
    CSC - Computer Software Components
    CSCI - Computer Software Configuration Item
    CSS – Cascading Style Sheet
    CSU - Computer Software Units
    SQL – Structured Query Language
    UI – User Interface
    XHTML – Extensible HyperText Markup Language
    XML – Extensible Markup Language

1.3 Document Overview
This document will describe the BGTracks project. Discussion of the internals of the software
will be limited to overview descriptions, not specific details.

Since the BGTracks is an independent project, with no relationship to any other CSCIs under
development, there is no discussion of its presence in a, or relationship to a, larger system
architecture.

The internal architecture of this project will be discussed, including some mention of the
decisions that inform the architecture design. Some detail will be provided that illustrates the


Software Design Descripti on                                                                       4
BGTracks System                                                                     CSC 480


internal CSCs and CSUs. External influences on the design and dependencies will be covered as
well.



2.0 REFERENCES
For the project site including wikis and other project reference please reference the project code
hosting and collaboration site:

        http://code.google.com/p/nucsc480project/

The layout and the template used for the SDD document can be found on National University’s
eCollege, in the September 2009 course, under the Doc Sharing tab:

        http://myonlinelogin.com/ec/dcs/DocView.learn?CourseID=3540164&47=4308408&dt=
        8%2F26%2F2009+7%3A09%3A55+PM&DocID=7181860&DocCollab_PK=22213312
        &Name=3%5Fsrs.doc

3.0 CSCI OVERVIEW
As mentioned in paragraph 1.3 the project is independent of any other development project, and
has no existence in larger system architecture under development. As a part of the larger world
of software systems, the project is dependent on external systems and is a part of a larger
architecture. Figure 1 illustrates the general overview of the project in the larger context of the
world-wide architecture.




                                 Figure 1 - Project Architecture Diagram




Software Design Descripti on                                                                          5
BGTracks System                                                                     CSC 480



3.1 CSCI Architecture




                                 Figure 2 - Project Internal Architecture

Figure 2 provides a more detailed architectural description of the BGTracks. The concept of
operations notes that in the interest of providing a solution that is simple to use, easy to
understand, has modest dependencies and is very cost-effective to field/maintain, the BGTracks
would be implemented in a web-based delivery mode, backed by a relational database. Further,
in the interest of cost-effectiveness and supportability, the conscious decision to e mploy Open
Source software components whenever practical.

There are four major Computer Software Components (CSCs) modeled in this project. Each of
these CSCs contains one or more CSUs. Figure 2 illustrates the components and units in distinct
strata and containers, but the final implementation of the project will result in the “blurring” of
these distinctions in some cases. For example, the JQuery CSU will be a part of the User
Interface CSC, but is also described in the Dynamic Languages (JavaScript) CSU of the Business
Rules CSC. The following paragraphs provide a brief description of the purpose of each
CSC/CSU as well as a brief treatment of the rationale for selection.

3.1.1 User Inte rface and Content Delivery CSC
The content delivery and user- interface will be implemented using AJAX (Asynchronous
Javascript and XML) development techniques. This strategy provides the user a rich and
seamless interface to the business processes and the data contained in the back end database..

3.1.1.1 XHTML CSU
The eXtensible Hypertext Markup Language v1.0 STRICT was chosen as the display format
delivery language. This selection provides the developers with a wider range of layout tools and
ensures HTML 4.01 compliance to guarantee compatibility with the wide range of user browsers.
Since XHMTL is a form of XML, future upgrades to the project could make use of this for
advanced purposes.

3.1.1.2 CSS 3 CSU
Cascading Style Sheets (CSS) 3 is used as the style sheet language. This simple language
containerizes the format and layout of all sections of the project interface, making enterprise-

Software Design Descripti on                                                                       6
BGTracks System                                                                       CSC 480


wide changes easier to implement and manage. While CSS 3 is in draft, the language itself is
considered stable enough to use for our production system.

3.1.1.3 JQuery and JQuery UI CSUs
These two Javascript libraries are used to provide the dynamic content of the user interface CSC.
The JQuery library provides the developers with a client-side interface to CSS manipulation,
HTML interaction, effects presentation, event handling, and browser differentiation. It is the
programmatic core of this AJAX implementation. The JQuery UI library provides the developer
with widgets to display and interact with the user.

3.1.2 Business Rules Implementation CSC

3.1.2.1 JAVA CSU
In the interest of ease of development and maintenance, Java was chosen as the core
development language for this CSC. As the project is built around the client/server model, Java
Enterprise Edition (Java EE) was selected as the development platform. The object-oriented
model of Java and the rich array of libraries make it an ideal choice for projects with a wide
range of requirements.

3.1.2.2 Dynamic Languages CSU
A dynamic language is one that executes its programmed behavior at run-time as opposed to
compile-time. As a result, code written in such a language does not require re-compilation for
use on different platforms or operating systems. Instead, the language is implemented separately
by virtual machines, emulators, or just- in-time compilers for various target platforms. This frees
the user of the dynamic language of platform-specific implementation concerns.

JavaScript is the sole dynamic language in use in this project. It’s widespread support and
stability as well as it’s object oriented nature make it an excellent fit for implementing the client-
side portion of the AJAX model for the project.

3.1.3 Application Interface CSC

3.1.3.1 Hibernate Java Persistence API (JPA) CSU
This library provides the developers a framework for connecting the object oriented world of the
Java software to the relational data in the project database. A JPA provides query and retrieval
of data from the relational database without the need of the developer to craft SQL or manage
and convert results from SQL tables to Java objects. The specific JPA implementation was
selected due to its open source nature.

3.1.3.2 Spring Security Framework CSU
In order to support the requirement for a secure system, the developers make use of the Spring
Security Framework. This provides simple tools to manage authorization, authentication, and
other security needs of the project. Spring Security Framework implements all of the
authentication, authorization, and security features in common use on the internet.




Software Design Descripti on                                                                          7
BGTracks System                                                                        CSC 480


3.1.3.3 Spring MVC Framework CSU
A Model-View-Controller framework is needed to keep separate the development models of the
business logic, display system, and user input. The Model component acts as a bridge to the data
and business logic functions of the project, the View component is used to present the Mode l in a
User Interface, and the Controller component takes input from the user and controls the flow of
information from the user to either the View component or the Model component, as appropriate.

Ultimately, the MVC model allows the development team to separately develop any section of
the project (data, business rules, UI) independently without impacting the other sections. The
Spring Framework provide this capability in an Open Source package.

3.1.4 Relational Database CSC/CSU
The requirements of the project indicate that the storage of information about clients and
employees will be required, and specifically calls out the need for a database. Supporting the
goal of choosing tools that are easy to use/maintain, and that adhere to open standards, the
relational database selected for this project was MySQL due to its low cost of implementation
and sustainment and its global supportability.

3.2 General Constraints
3.2.1 Security Conce rns
Information contained in the project meets the criteria of Personally Identifiable Information
(PII), meaning that it could be used to uniquely identify a single person or could be put together
with other information to uniquely identify a single person. As such, care must be taken through
security measures to safeguard this information. Also, various state and federal laws will require
the operator of the project to affirmatively protect the PII and to notify individuals whose records
may have been compromised.

3.2.2 Audits and Compliance
The initial requirements do not call for any audit trails or reports for this project. The user
stakeholder has not indicated any need for specific regulatory compliance, other than that
identified by the development team in paragraph 3.2.1.

3.3 Assumptions and Dependencies
3.3.1 Production Environment
BGCS will have or will be able to procure the hardware and software sufficient to field a
production environment for this project. Hardware and software requirements will be driven by
the development design and will be clearly communicated to the user stakeholder.

3.3.2 Training
BGCS will be solely responsible for training their staff on the use and maintenance of the
project. The development team will provide clear and detailed User Documentation to support
the training effort.



Software Design Descripti on                                                                       8

				
DOCUMENT INFO