SRS_v4.1

advertisement
SRS Document
A Software Engineering Project
Software Requirements Specification
(ver. 4.1)
Project Manager: Andy
Project Name: QA Quetzals
Company Name: At-A-Glance Software
Contributors: Rani, Sudheera, Ambica, Rama & Robert
Class: CS532, Concepts of Software Engineering – Summer ‘10
Submitted To Customer: Professor Robert Zhu
Date: Saturday, June 7th 2010
1
SRS Document
Table of Contents
1. Introduction ...............................................................................................................................4
1.1 Purpose .......................................................................................................................................... 4
1.2 Document Conventions ................................................................................................................. 4
1.3 Intended Audience ........................................................................................................................ 4
1.4 Project Scope & Vision ................................................................................................................... 4
1.4.1
Goals .......................................................................................................................... 6
1.4.2
Market Context.......................................................................................................... 8
1.4.3
Stakeholders .............................................................................................................. 8
1.4.4
Key Features .............................................................................................................. 8
1.4.5
Constraints............................................................................................................... 10
1.4.6
Appendix & Use Cases ............................................................................................. 10
1.5 References ................................................................................................................................... 12
2. Overall Description ................................................................................................................133
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Product Perspective ..................................................................................................................... 13
Product Features.......................................................................................................................... 13
User Classes and Characteristics.................................................................................................. 14
Operating Environment ............................................................................................................... 16
Design and Implementation Constraints ................................................................................... 177
User Documentation ................................................................................................................. 177
Assumptions and Dependencies ............................................................................................... 177
3. System Features.......................................................................................................................19
3.1
3.2
System Feature 1 ....................................................................................................................... 199
System Feature 2 ....................................................................................................................... 199
4. External Interface Requirements ............................................................................................20
4.1
4.2
4.3
4.4
User Interfaces............................................................................................................................. 20
Hardware Interfaces .................................................................................................................. 221
Software Interfaces...................................................................................................................... 21
Communications Interfaces ......................................................................................................... 21
5. Other Nonfunctional Requirements .......................................................................................22
5.1
5.2
5.3
5.4
Performance Requirements ....................................................................................................... 222
Safety Requirements.................................................................................................................. 222
Security Requirements .............................................................................................................. 222
Software Quality Attributes ....................................................................................................... 222
6. Other Requirements ..............................................................................................................222
7. Appendixes ................................................................................................................................23
7.1 Appendix A: Glossary ...................................................................................................................... 23
7.2 Appendix B: Analysis Models.......................................................................................................... 23
7.3 Appendix C: Issues .......................................................................................................................... 23
2
SRS Document
Revision History
Name
Date
Reason For Changes
Modified By
Version
SRS v4.1.doc
July 16th, 2010
Finalization for Mid-Term 2
Rama
4.1
SRS v4.doc
July 16th, 2010
Addition of Diagrams
Rama
4.0
SRS v3.doc
July 7th, 2010
Addition of Requirements
Rama
3.0
SRS v2.doc
July 3rd, 2010
Submitting to Professor Robert Zhu
Andy
2.0
Requirement v1.doc
June 30th, 2010
Initial Verbal Customer Requirement
Andy
1.0
3
SRS Document
1. Introduction
1.1 Purpose
This project is undertaken to develop a graphical user dashboard interface that reports statuses of bugs
arising from multiple on-going projects within an organization. The graphical user dashboard interface is
simple, inexpensive, convenient and user-friendly tool that can be used by the upper management to
review the bug trends within a particular software project. It provides a report of the overall bug status
information ‘at a glance’ in the form of charts, graphs, and reports. Decision making is enhanced and
simplified.
1.2 Document Conventions
This SRS document does not contain any standards or typographical conventions. Every requirement
statement is to have its own priority.
1.3 Intended Audience
The different types of readers intended for this SRS document are HGU students, professors, teaching
assistants, developers, project managers, marketing staff, users, testers, and documentation writers.
1.4 Project Scope & Vision
The software system specified here is used to deliver the output in a GUI format to the end user. Its main
purpose is to test, identify and report bugs in a software product. This is of great benefit to the upper
management staff in a company. It not only reduces the time involved in transfer of data and information
from different levels of hierarchy in the project development life-cycle, but also gives the President or
the CEO an instant birds-eye view of the overall health of the organization. The goal of this software
system is to be able to track and report all the bugs in multiple software products in a resourceful and
well-organized way to its user so that the user can use that information to make important decisions
regarding an organization’s future.
The high-level diagram of the software system is as follows:
4
SRS Document
System High Level
Diagram
Projects
(Java/WebApp)
4
3
1
2
Project vs. Defect Graph
Manual
Testing
Modify Code
4
2
1
Test OK?
Fail
Report Bug
To JIRA
Data Base
Dash Board
Integrator
Query JIRA
DB / My SQL
P1 Issues Graph
30%
Pass
3
15%
10%
45%
Product
Release
Bug Criticalities
Pie Chart
4
3
1
2
BRR Graph
Context models are used to illustrate the operational context of a system. It is the highest level view of a
system similar to the block diagram which depicts system as a whole and its inputs and outputs from/to
external factors that lies outside the system boundaries.
The User interacts with Dashboard Tool which derives inputs from databases and QA testing tool, Checks
security & safety policies for influence of external factors, Processes data in Data processing unit,
Displays GUI content output using reporting tool and maintains the system as a whole using
maintenance system.
The Context model of the system is as follows:
5
SRS Document
Safety
&
Security
Policies
Reporting
Tool
JIRA DB
My SQL
Dashboard
Tool
Data
Processing
Unit
QA
Testing Tool
Maintainence
System
Context Model
1.4.1
Goals
To produce a user interface dashboard style product based on the application of software engineering
principles and models. Follow the Software Engineering philosophy of the OMG by producing first a VModel to facilitate the development process. The software testing platform will be performed in a
manual testing environment that uses JIRA bug tracking software and Java technology will be used for
coding purposes. The system will use a simple user Id and password mechanism to log in.
Advantages and Disadvantages of V-Model are as follows:
Advantages:
1. Proactive defect tracking wherein defects are found at early stages even may be in the development
phase before application is tested.
2. Avoids the downward flow of the defect
3. Reduces the cost for fixing the defect since defects will be found in early stages
4. It is a fast method.
5. It is also called as verification and validation Model.
6. This means the verification and validation will be done side by side.
6
SRS Document
7. It emphasis the strict process flow to develop a quality product.
8. The errors occurred in any phase will be corrected in that phase itself.
Historical &
Defect
resolution rate
UAT
Planning
Defect Vs
Project
UAT
Dashboard
Delivery
System
Testing
System
Test Plan
Data flow
Integ Test
Planning
In the
mmodules
Naming
conventio
nnn
Unit Test
Planning
Integ
Testing
Unit
Testing
Maintenance
Java
Classes
V-Model
Disadvantages:
1. It is rigid and least flexible.
2. Requires more people to work.
3. It needs lot of resources and money.
7
&
Enhancement
SRS Document
4. It needs an established process to implement.
5. It can be implemented by only some big companies.
1.4.2
Market Context
The equipment currently on market does not support features that provide the people in the upper
management level to check the overall system or project status for on-going software projects in their
company. This technology has just begun the start of its useful life, making it likely to support updates in
the near future. On the other hand this technology has immense need in the market to put us at a
competitive advantage if implemented now.
1.4.3
Stakeholders
Among the stakeholders for this system are the Computer Science and Engineering Department. The list
of the stakeholders and the specific individuals representing them are.

Computer Science Engineering. Zhu, Robert
1.4.4
Key Features
The following are the key features of the software product:

A convenient user-friendly UI tool to allow the customer to obtain reports for each project.

Check the overall project status for each and every on-going project in the company.
8
SRS Document
GUI COMPONENT DIAGRAM
Click
the
Graph
TEAM
INFORMATION
PROJECTS VS
DEFECTS
BUG
RESOLUTION
RATE
Sign in
LIST OF
PROJECTS
LOGIN
Sign off
CRITICAL VS
NON
CRITICAL
Select
Project
PROJECT
INFORMATION
DAILY/WEEKLY
/MONTHLY
PIE CHARTS
HISTORICAL
GRAPHS
GUI Component Diagram
Data flow diagram
Requirement
INPUT
PARAMETERS
Test case
REQUIRMENT /TEST
ANALYSIS
FINDING
BUGS
Jira bug tool
Open source
DASHBOARD
Infrastructure
JIRA DATA
BASE
JIRA
Historical/Bug resolution graphs
OUTPUT
GRAPHS
Data Flow Diagram
9
SRS Document
1.4.5
Constraints
This project must be completed within two months or before August 21st 2010. The basic architecture as
well as the infrastructure needed will be designed in-house. Close liaison will be maintained between the
software design, development and testing of the user interface tool. Neither the software nor the user
interface shall be considered the independent variable, but rather they should be considered equal.
1.4.6
Appendix
The following are the actors that directly support this vision. Additional actors may be identified later
that are needed to support this or that technology. They should not be added to this list unless they are
deemed to directly support the vision as described in this document.
• Computer Science Department
• Customer. Zhu, Robert
The following are the use cases that directly support this vision. Additional use cases may be identified
later that is needed to support this or that technology or to support the use cases listed here. They
should not be added to this list unless they are deemed to directly support the vision as describe in this
document.

Customer uses dashboard by logging in
User
Dashboard
Log In
& Password
Password

Customer views list of on-going projects
10
SRS Document
Project 1
Dashboard
List of
Projects.
Project 2
Defect Vs
Project
Project 3
Status
Project n

User Interface to display the graphs of the selected project
Team Info
Project Vs
User
Dashboard
Defect
graph
Historical
Graph
11
SRS Document
User
Dashboard
Project Vs
Defect
Status
Rate
resolution
Graph
1.5 References
This SRS refers to the project located at following web address: http://code.google.com/p/at-a-glance/
All documents including the project-plan, project scope and vision, use case documents, interface
guides, software and tools, including title, author, version number, date and source or location can be
found on this website for your reference.
12
SRS Document
2. Overall Description
2.1 Product Perspective
At a Glance is an innovative product for higher management in an organization to identify the state of
the application. It is intended to implement the entire bug tracking features. This product is using Java
platform and the JIRA bug tracking tools. This product imports all the necessary java packages that are
needed for task. The possible extension for this product is connecting to multiple bug reporting tools.
Defect tracking is a critical component to a successful software quality effort. Software defect data is the
most important available management information source for software process improvement decisions,
ignoring defect data can lead to serious consequences for an organization's business. Defect tracking
dashboard is a web-based defect and bug tracking solution to track product defects and manage product
enhancement requests. Follow the defect resolution process and work the defect from initiation to
closure, enhancing product quality and customer satisfaction. Dashboard contains KPIs, metrics, charts,
trends and data visualizations.
2.2 Product Features
See Appendix B
2.3 User Classes and Characteristics
An association model:
Associations indicate that an attribute of an object is an associated object or that a method relies on an
associated object.
13
SRS Document
An association model
generates
HomePage
DashBoard
displays
access
Status
Login
Associations are indicate that an attribute of an object is an associated object
or that a method relies on an associated object.
Association Model
Sub-System Model:
Sub-Systems
Data Collection
Sub-System Interfaces
Communication
Interfaces
Databases
Dashboard
UI Interface
QA Tool
Sub-Systems Applications/Gadgets
Test Plan
Test Cases
Input
Parameters
Security
Permissions
JDBC
JQL
JIRA
Report
Collector
Sub-System Model
14
SRS Document
Class Diagram:
A class is a system entity that models a real-world object. Login, Homepage , Dashboard and Status are
classes. A class is made up of attributes which define the information that each class knows about itself
and operations which are the processes that a class can carry out. Often you will see operations referred
to as methods.
Class Diagram
State Diagram:
Shows how objects respond to different service requests and the state transitions triggered by these
requests.
15
SRS Document
State Diagram
drawChart()
Displays graphs
in dash board
Graphs
drawGraph()
getStatus()
DashBoard
initialstate
getProj()
Status
Status complete
goHome()
Waiting
Login
Charts
Validate()
signOut
signOut()
goHome()
Shows how objects respond to different service requests and the state
transitions triggered by these requests.
State Diagram
2.4 Operating Environment
The environment in which software will operate and other software components or applications with
which it will co-exist are as follows:
Operating System: Windows XP/Vista or higher
Hardware platform (Minimum requirements): Quad/Dual core 2.0 GHz processor, 512MB RAM, 250GB
HDD
Programming language: Java (JDK 1.5), JQL (JIRA Query Language)
Programming Platform: Eclipse IDE
Application server: Apache Tomcat
DB: JIRA Standalone or WAR/EAR (Inbuilt)/ My SQL
Browsers: Internet Explorer/Mozilla Firefox
QA Tools:
Bug Tracking Tools: JIRA
Communication Tools: WebEx
Subversion Tool: Tortoise SVN
Reporting Tools: JIRA
16
SRS Document
2.5 Design and Implementation Constraints
The following are the design and implementation constraints that might limit the options available to the
developers and UI designers are as follows:
Corporate policies: Atlassian's regulatory policies
Databases: Memory constraints in JIRA (need to take frequent back-ups)
Design Conventions: Limited customization of filters/permissions (Due to trail version)
Security considerations: Inbuilt Atlassian's security advisories
2.6 User Documentation
There are no user documentation standards or components such as manuals, online help, and tutorials
available for delivery along with this software.
2.7 Assumptions and Dependencies
There are no assumed factors (as opposed to known facts) that could affect the requirements stated in
the SRS. The project has no dependencies on external factors, such as software components reuse from
another project.
Task dependencies and Activity Network Diagram indicating critical path are as follows:
Work
Tasks Breakdown
Task
Description
T1
T2
T3
T4
T5
Andy
All
All
Andy
All
T6
T7
T8
T9
T10
T11
Ambica/Andy
All
Rani
Rani/Andy
Rama/Sudheera
All
Client Interview
Feasibility Study
Requirements Analysis
Project Planning
Process Flows
Object Oriented
Analysis
System Models
Manual Testing
Bug Reporting
UI Integrating
Final Delivery
Critical Path = 27 Days
17
Duration
(days)
Dependencies
3
4
12
7
3 T1,T2,T3(M1)
3
7
10
7
12
3
T5(M3)
T5,T6(M2)
T8(M4)
T1,T3,T4(M5)
T7,T9,T10(M6)
SRS Document
7 Days
12 Days
Task 4
Task 3
12 Days
M5
Task 10
M3
3 Days
Task 6
3 Days
7 Days
3 Days
3 Days
Start
Task 1
M1
Task 2
M2
7 Days
4 Days
Task 8
Task 5
M4
Task 9
10 Days
Activity Network Diagram
18
Task 7
M6
Task 11
Finish
SRS Document
3. System Features
This section illustrates the functional requirements for the product by system features, the major
services provided by the dashboard product.
3.1 System Feature 1
3.1.1
Description and Priority
NA
3.1.2
Stimulus/Response Sequences
NA
3.1.3
Functional Requirements
REQ-1: Login page requirement: (Fields: User ID and Password).
o
User ID field name must be displayed as “User ID” in the UI.
o
User ID field is allowed to have only of the following characters: [0-9], [A-Z], [a-z], Special
characters allowed are: underscore (_) and period (.)
o
User ID must be of minimum length of 5 characters.
o
User ID must be of maximum length of 10 characters.
o
The system must display the following error message if the user ID entered is not valid.
o
“User ID Invalid”
o
Password should be minimum 4 characters long.
o
Password can include alphabets, Upper case, Lower case, Numeric and special
characters.
o
The user should be allowed to access the application with correct Login.
o
The user should not be allowed to access the application with incorrect Login.)
REQ-2: UI page requirement: (Dashboard page fields)
o
User should be able to see the fields on the dashboard like PROJECTLIST, RELEASES, and
GRAPH.
o
Dashboard should have an option to select RELEASES.
o
When GRAPH is selected the user can see a graph with Project Release Date in ‘X’ axis
and Defects in ‘Y’ axis.
3.2 System Feature 2
More system features will be added following the design process.
19
SRS Document
4. External Interface Requirements
4.1 User Interfaces
User interface of an application will make or break. Although the functionality that JIRA tool provides to
user is important, the way in which it provides that functionality is also important. So we follow the GUI
standards in following points in designing the dashboard and the user interface.

Concise, numbered guidelines

Navigation b/w major interface items & navigation with in a screen

Wording messages and labels

Quality assurance checklist

Align fields effectively & Justify data appropriately

Visual design patterns to solve common design problems

Comprehensive, customizable administration tools

Common buttons on forms

Drop down menus

Tool bars, Menu design

Security to ensure the quality of the content
User Interface with JIRA: Web, email, workflow, My SQL/ JDBC, Excel
Standard buttons and functions appear on each screen: Proposed tabs in dashboard are as follows

Home or Dash boards & Gadgets

Browse List of Project

Find P1 Issues

View historical data and BRR graph for each project
Software components: JAVA, JAVA API, LDAP, Clear case, My SQL/ Oracle
Reports/ Figures: The reports need to be created in a variety of dimensions, including pie chart, linear or
column graphs, and statistical tables. Data should reflect the amount of issues for each individual
customer, the number of issues reported over a specific time frame - such as day, week, month or year,
the average time to resolve an issue, and many other options.
20
SRS Document
4.2 Hardware Interfaces
There is no communications protocol and hardware interface characteristics implementation of the
dashboard product.
4.3 Software Interfaces







Operating system requirements: Windows XP or higher
Database requirements: Using inbuilt databases that comes with the bug tracking tool
Tools: A bug tracking tools like JIRA
Library requirements: Proposed to use java libraries
Incoming messages: No specific user defined messages: But this tool will display the graphical
representation of the defect trends in the form of graphs, charts for selected period of time
Information related to the defects will be shared across the software components.
No implementation constraints identified by this time.
4.4 Communications Interfaces
The following are the communications functions such as email, web browser, network communications
protocols and other inbuilt communication interfaces to be used:
Communication Platform: WebEx, Google Code
Mail Clients: Microsoft Outlook Express, Google
Web Browsers: Internet Explorer6.x or higher, Mozilla Firefox3.0 or higher
Networking protocols: FTP, HTTP, SMTP
Other Communication Interfaces: Inbuilt JIRA gadgets/plug-ins
21
SRS Document
5. Other Nonfunctional Requirements
5.1 Performance Requirements
As of now there are no performance requirements for the product under various circumstances.
5.2 Safety Requirements
The database is stored in multiple data centers across the company’s network and would be accessed
from any geographical location.
The Disaster recovery site has been setup to back-up data for any possible loss or damage if incurred
during any natural disaster.
5.3 Security Requirements
The software product will have a simple user Id and password screen to authenticate the user
information and will not be accessible to non-managerial staff thereby restricting editing/viewing of
dashboard pages.
The database is securely stored and has a full 128 bit SSL encryption model supporting the security
requirements.
Documenting company's security policies & procedures for effective security implementations.
Encapsulation and encryption features available for data/file transfer.
Security measures from potential intrusive threats and hardware/software crashes.
5.4 Software Quality Attributes
A desired combination of quality attributes focused for this project is its timeliness, ease of use,
interoperability of the dashboard tool. This combination tradeoff not only satisfies the user
requirements and ensures a better quality system but also; reaps the long-term benefits of improving
the customer's ROI.
6. Other Requirements
No other requirements exist outside the scope of this SRS document, such as internationalization
requirements, legal requirements, reuse objectives for the project, and so on.
22
SRS Document
Appendix A: Glossary
The following are the interpretation of terms, acronyms and abbreviations for this SRS document:
JQL
JIRA Query Language
Appendix B: Analysis Models
Appendix C: Issues List
The first and final release for this product is planned to be in August 21st, 2010. The project has some
open requirements issues that remain to be resolved. Information is needed on what is the optimum
way to connect the JIRA bug tracking tool to a dashboard reporting software tool. The conflicts awaiting
resolution are whether to use Database management or XML based data from the tracking tool software
to read the input into the final output display board.
23
Download