Srs Document For University Management System
Srs Document For University Management System
Table of Contents.............................................................................................................................2
Table of Figures...............................................................................................................................4
Table of Tables................................................................................................................................5
Revision History..............................................................................................................................6
1. Introduction..............................................................................................................................7
1.1 Purpose..............................................................................................................................7
1.2 Scope.................................................................................................................................8
1.4 References.......................................................................................................................10
1.5 Overview.........................................................................................................................10
2 Overall Description................................................................................................................12
2.4 Constraints......................................................................................................................16
3 Specific Requirements...........................................................................................................18
3.2 Functions.........................................................................................................................20
Appendixes....................................................................................................................................47
2.1 Purpose
The Software Management System (SMS) serves as a management effective tool for
software management across university to better manage and track how software is
used. The pilot program for SMS would be developed and implemented at NJIT;
however the system could be adapted to any other university. The purpose of this
from the product stakeholders, to list the enterprise, system functional and non-
functional requirements that are essential to the success of this product, and describe
Currently, there is no visibility of software usage across the university because there is
no single repository that lists which software is in use or ready for purchase. NJIT also
about what software is currently available. They also lack a unified method of
These issues lead to wasted resources as disparate groups attempt to acquire software
on their own when it may be possible to aggregate software purchases and realize bulk
savings. In addition, there is no accurate count of the current software licenses in use
In order to solve these problems NJIT needs a software management tool that allows
is in use.
The intended audience for the SMS system includes representatives from NJIT. The
systems will be usable by non-experts: students, faculty and staff, and customizable to
2.2 Scope
The product we will design is called Software Management System. The system is a
web-based utility used to manage all the software available to NJIT employees and
students. Users will benefit from this system by being able to communicate with IT
Administrators and request software, keys, and licensees. In addition users will be able
to request help for specific software problems, receive notification of software updates,
and request new software purchases. IT Administrators will benefit from the system by
having central location for all software information. New software will be added to the
database and stored there. IT Administrators will be able to run reports and display
statistics about the software usage. The software will run scripts that simplify IT
administrators work: adding keys to the software database, removing users from the
database and requesting new keys from software vendors’ website. The goal of the
system is to create central point where all software is listed, managed, and requested.
that can be used to judge the operation of a system, rather than specific
behaviors.
software: that is, the calculations, technical details, data manipulation and
processing and other specific functionality that show how the use cases are
to be satisfied.
2.3.6 MySQL: An open source database server geared towards web based
applications.
(1998). Retrieved March 19, 2007, from the World Wide Web:
http://ieeexplore.ieee.org/iel4/5841/15571/00720574.pdf?
tp=&isnumber=15571&arnumber
“SottRack” (2005). Enterprise Software Audit and Control Platform. Audit, Inventory,
Metering, License Compliance. Retrieved March 19, 2007, from the World Wide
Web: http://www.softwaremetering.com
2.5 Overview
Management System and a general overview of the entire project. The rest of the
document will provide detail instruction about: the Functional and Non-Functional
sections: this introduction, the general description of the project, and the specific
section is a more detailed look at the project’s requirements, including external interface
functional requirements.
SMS is divided into three sections: software information, availability and vendor
information. IT Administrator can access all sections. He or she can add software,
change software information, add keys to the database and request reports. He/she is
notified by the system about license expiration for particular software. Faculty and staff
can only request software installation or license for requested software. Students can
The Software Management System design for New Jersey Institute of Technology will
monitor usage of variety of software, availability of licenses for particular software and it
will generate reports which will allow NJIT IT Administrators to see the software
download statistics and better manage software purchases. As a brand new product in
the field, the system should work well in collaboration with existing web platforms to
provide convenience for users at various levels within the institution or organization. The
SMS system will use the existing NJIT LDAP system to authenticate the users of the
application.
The Software Management System is an independent product that can exist without
authentication, but for the implementation at NJIT it will use LDAP for authentication.
The SMS should work well in collaboration with existing web platforms to provide
convenience for users at various levels within the institution or organization. The SMS is
PHP and HTML language. The application will be accessible via the Internet. Web
browsers that can be used include Internet Explorer and Netscape Navigator.
2.1.1 System interfaces
The web interface is the main system interface, used for listing software and adding
new software to the database as well as new product keys. These functions are
independent of each other yet share the same database. The only system interface that
will alter the database will be the script that adds new software. The primary interfaces
There are three primary interfaces which will be implemented. The first one is the login
screen, which will ask for the user name and the password. The second one is the main
splash menu, which will have several options to choose from (view software list, add
software, generate reports, adds keys to the database, etc). The third one is an
administration form used to add new software to the database and other administration
functions.
The software interfaces will be contingent upon MySQL server and PHP as well as the
2.1.3.2 Web Server: Apache (v1.3.x or later; www.apache.org). The Web Server
(v4.x; www.w3c.org). These are the languages that SMS is built with.
(v6 or later; www.microsoft.com). The web browser is used to connect to the SMS over
The system will use the standard TCP/IP protocol for communications between
interfaces.
3.2 Product Functions
3.2.3 The system shall expose functionality to the users as per their
3.2.5 The system shall allow users to request software key, license
3.2.7 The system shall provide an option to send e-mail alerts that are
that define the level of data detail available for view by different user
groups.
3.2.1 The system shall integrate with the existing NJIT LDAP
authentication scheme so users may use their current UCID to login.
3.3 User Characteristics
All active users with a valid UCID will have access to the SMS system (unless the UCID
is of a restricted type). The intended users of the system will be students, staff, faculty,
3.4 Constraints
Opera 8+).
3.4.3 Safety and security considerations: only NJIT students and employees
port 3306.
exchange.
3.5 Assumptions and Dependencies
3.5.1 The system will depend on NJIT LDAP for user authentication.
3.5.2 The users will have basic knowledge of web browser use.
compatible with all major web browsers like Internet Explorer, Netscape
There is no special hardware that is required. The web browser will be the
4.1.3 Software Interfaces: The SMS system shall interface with the NJIT LDAP
4.1.4 User Authentication: The system shall require all users to login before
4.1.4.1 Internal
users, i.e. users that are already logged onto the main computer
network, will not be required to login again. However, if the same user
tries to access the system from an external network, SMS shall require
external user (user not on the main intranet) shall need to use their
id and password authentication shall be done with the help of the main
computer system.
4.1.5 The system shall support two categories (general user and IT
and staff) with a capability to add new user types. The user types are
4.1.6 General user shall have access to minimum features and generic
4.1.6.1 The
4.1.7 Administrative Users are member of the group responsible for the
configuration and maintenance of the SMS. These users shall have access
to all the features specified for all the above-mentioned user groups and
ative Users shall add or delete other users and assign them to a
4.1.7.2 Administr
ative Users shall create new user groups and allow them a new set of
the system.
better.
4.2 Functions
4.2.1 Validity checks on the inputs: java script shall have functions that make sure
all is formatted properly and all required fields are field in.
4.2.2 Server-side or client-side functions shall be used for data and form-field
validation.
4.2.3 All abnormal halts shall exit cleanly with no data commit.
Use Case Diagram
Key Request
Request Report
User *
*
*
Log in
*
*
*
* LDAP
Request Report
* Add Keys
* Update Software
*
IT Admin * *
* * *
Add Software
*
*
Remove Software
Characteristic Information:
Goal in Context: Allow an Admin to update the system with information about a
patches.
system.
2. System checks for the existence of the software title and if found displays it and
its information.
4. System saves the modifications and notifies Admin that changes were saved.
Extensions:
1. Database is unavailable
Priority: Medium
Use Case 2: Request reports (Admin requests reports from the system) ¶
Characteristic Information
Characteristic Information:
Goal in Context: Allow Admin to view reports about data contained in the system.
system.
3. System fetches the required information from the database and formulates the
report.
Extensions:
3. Database is unavailable
Variations: None
Priority: Low
Characteristic Information:
software.
software.
Failed End Condition: User is notified why their request is unable to be fulfilled.
1. User selects the software package that they are interested in getting a
license/key for
software.
Extensions:
ii. Admin is notified that there are no more licenses/keys for that
software.
Variations: None
Priority: Medium
authorization.
Use Case 4: Request reports (User requests reports from the system)
Characteristic Information:
Goal in Context: Allow a User to requests reports from the system. Example of
reports would be how many licenses they currently have assigned to them.
3. System fetches the required information from the database and formulates the
report.
Extensions:
3. Database is unavailable.
Variations: None
Priority: Low
Characteristic Information:
the system.
Failed End Condition: User/Admin is notified that they have not successfully
1. User/Admin is presented with a login page where they enter their username
and password.
2. The system accesses the NJIT LDAP Server to authenticate their username
and password.
4. The system associates that user with either Admin or User rights.
5. The system then notifies the user that they have logged in.
6. The system allows access to appropriate parts of the system via a menu.
Extensions:
2. User/Admin provides incorrect username and password.
a. The system did not associate the user with Admin rights
Variations: None
Priority: Critical
Use Case 6: Add software (Admin adds software entries to the system)
Characteristic Information:
Goal in Context: Successful addition of a new software package record in the
system.
the system.
Failed End Condition: Admin is notified that their addition has been unsuccessful
and why.
4. System removes the software package from the available list and records it as
a removed package.
Extensions:
a. Confirmation is declined.
Variations: None
Priority: Medium
Use Case 7: Remove software (Admin removes software from the system)
Characteristic Information:
Goal in Context: Successful removal of a software package record in the system.
system.
Failed End Condition: Admin is notified that their removal has been unsuccessful
and why.
4. System removes the software package from the available list and records it as
a removed package.
Extensions:
a. Confirmation is declined.
Variations: None
Priority: Medium
Frequency: Rare, only after software license agreement with vendor has expired
Use Case 8: Remove Report problem (User reports a software problem / help
request)
Characteristic Information:
Goal in Context: Successful addition of a software problem / help request into the
database.
request.
Failed End Condition: User is notified that their submission has been
1. User selects the software package to submit a problem or help request for.
2. User enters in the problem description.
Extensions:
i. Return to step 3
Variations: None
Priority: Low
Login Page
The purpose of the login page is to provide the user with an interface for
Purpose
authentication.
Inputs The inputs to the Main Menu will come in the form text.
The user name and password will be verified by LDAP and depends on
Processing the role: students or staff/faculty user will see Main Menu with features
available to them.
Outputs User will see the SMS Main Menu.
Table1. Login Page
The purpose of the main page is to provide the user with an interface for
that shall request keys and software keys downloaded from software
4.3.4 The performance required for this product shall largely depend on
4.4.1 The types of information used by various functions shall be mostly strings,
4.6.1 Availability
3.6.1.1 The system shall be available 24x7 to all user groups. The web
down time.
4.6.2 Security
Introduction:
The system authenticates the user against an LDAP directory using a username and
password. The login form should be submitted over Secure Socket Layer (SSL)
connection via the web browser. This will ensure that the submission of the username
and password are encrypted through the network. An authentication hash should be
stored on in a browser cookie and checked on load of every subsequent page. It should
not be possible to stumble onto a page past the authentication front-end and have the
system perform authenticated functions. For added security, web pages in the system
that accept or display license keys can also be encrypted via SSL, to prevent keys from
being “sniffed” out of the network traffic. It is possible to require VPN authentication from
off-campus as well.
3.6.2.2 The system shall use SSL for all communication involving the UCID and
password
3.6.2.3 The system shall check for validity of the user upon load of every page
3.6.2.4 The system shall require the use of secure tunnel (VPN) when connecting
from off-campus
3.6.2.5 The system shall transmit web pages that display software key information
4.6.3 Maintainability
allow for easy maintenance and upgrading of the system to add new
functionality.
3.6.3.2 All components shall be modular and loosely coupled with each
other.
4.6.4 Portability
4.6.4.3 Portable language shall be HTML code and java script code
4.6.5 Interoperability:
3.6.5.1 The system shall be able to interpret data from NJIT’s LDAP
directory.
4.6.6 Reliability:
3.6.6.3 The system shall be to have PHP, web server and MySQL enabled.
4.6.7 Backup and Recovery:
3.6.7.1 Full data backup shall be taken every week and incremental
4.6.8 Accessibility:
and password, and who is also either a student or faculty/staff member. Guest
3.6.8.2 The system website shall support the 2 major web browsers
3.6.8.3 The system shall run 24 hours a day, 7 days a week, and shall be
available from any IP address range (unless VPN restrictions are in place).
3.6.8.5 The system shall be accessible to anyone with a valid UCID and
password
3.6.8.6 The system shall disallow guest, temporary, other such designated
UCIDs
3.6.8.7 The system shall be viewable through two major web browsers
Introduction
As with any modern web site, the system should respond almost instantly to simple
requests (page requests), and have a <5 second response time on pages that are
processing or fetching data from the database or the LDAP directory. This means that
the web server, database server, and LDAP directory server must also meet similar
performance metrics. A response time of <3 seconds is optimal. Anything longer than
>5 seconds and the user may think the system: a) has failed to receive their last
user experience in mind. With sufficient processing power and network bandwidth, this
3.6.9.1 The system shall respond to non-interactive page requests in <5 seconds,
3.6.9.2 The system shall respond to interactive and query-based requests in <5
seconds
IT N JIT
U SER
ADMIN LDAP
Authentication
confirmation
Added/ R emoved softw are data Software info for update control
Reports
Welcome screen
Welcome screen
User doesnÕtexist info
Adm in doesnÕtexist i nf o
Confirmation
Report doesnÕt exist
IT
U SER
ADMIN
NJIT
LDAP
Admin login data for
Authentication User login data for authentication control
authentication control
confirmation
1
Available user actions Authorize Admin info
user& send Available admin actions
Welcome screen available IT
A dmin info
USER Welcome screen
actions list ADMIN
User login data Admin login data
User inf o
S oft ware request / inquiry
User doesnÕ
t exist info
S oft ware avail abi lity report / sof tware
Admin doesnÕ
t exist info
User info
Confirmation
Admin
info
Software info /detail change data
Confirmat ion
P roduct key/li cense em ail
Product key /
license request
2 Software doesnÕ
t exist error
Change
Software
3
A dmin info
Info 5
Evaluate
Add product Added keys data
product key /
Available keys / licenses
4 license Revised
request software software
Evaluate to make
software info License / key Removed user
changes info data with
User inf o
request /
inquiry software title
Product key /
License info
Software info
Removed user dat a for adding t o t able wit h s oft ware tit le
List of removable
reports
Required dat a
Solution
to new Available
Update/ license
problem reports
change info
7 list
Evaluate Added/ Removed
Unsolved problem query problem software info
reports& send
Admin info help email 9
Problem report Add / Remove
Report doesnÕ t
8 exist error Software
Create
Help/ Problem
Reports
recorded email 10 Confirmation
M anage version
Software info
for update control update / license Software doesnÕ t
change Report exist error
Admin info
Confirmation
Admin info
8th Process
Available reports
list
Report request
Admin info
8.1
Required report
Evaluate
info
request
Report doesnÕt
exist error
8. 2
Required
Edit
data
data
Edited data 8. 3
Create& send Report
reports
Problem report
User info
Admin info
Unsolved problem
query
7. 1
Evaluate Solution to
New problem data new problem
request
for writing to database
Problem description
Problem description
to be mailed
Notification about
recorded new
Query problem
7. 2 7. 3
Put new problem Get problem data
description from database & 7.4
Help/Problem recorded mail
to database send to IT Admin Send mail
New problem
New problem data to dbase New problem data
data for admin
authentication control
process
Authentication Authenticate login NJIT LDAP 1-authorize user &
authentication control
process
Welcome screen Display “welcome” on 1-authorize user & send User
successful login
Welcome screen Display “welcome” on 1-authorize user & send IT Admin
successful login
Available user actions Authorize user to 1-authorize user & send User
User login data User provides individual User 1-authorize user &
action list
Admin login data Admin provides IT Admin 1-authorize user &
who logged
Admin doesn’t exist info Display wrong user 1-authorize user & send IT Admin
who logged
Admin info Provides Admin info to 1-authorize user & send 2-change software
Software doesn’t exist Display wrong software 2-change software info IT Admin
Admin
Software info/ detail Make change of IT Admin 2-change software
to be updated
Confirmation Give feedback of 2-change software info IT Admin
confirmation to IT Admin
Revised software info Proceed revised 2-change software info SOFTWARE,
Database DATABASE
Available software to Database confirmed SOFTWARE, LICENSE 2-change software
Product key/ license Evaluate product key or 3-evaluate product key/ User
to user
Product key/ license info Database provides SOFTWARE, LICENSE 3-evaluate product
product key & license & USER DATABASE key/ license request
information to internal
Admin info Provides Admin info to 1-authorize user & send 5-add product keys/
Added keys data Make addition license IT Admin 5-add product keys/
License/ key info Proceed added license 5-add product keys/ SOFTWARE,
Database DATABASE
Admin info Provides Admin info to 1-authorize user & send 6-remove user &
software title
Removed user data for Remove user from IT Admin 6-remove user &
software
Confirmation Give feedback of 6-remove user & add to IT Admin
Removed user data with Proceed removed user 6-remove user & add to SOFTWARE,
software title data with software title to table with software title LICENSE & USER
internal process (7) available action list reports & send help
email
User info Provides user info to 1-authorize user & send 7-evaluate problem
internal process (7) available action list reports & send help
email
Solution to new problem Provide and list solution IT Admin 7-evaluate problem
email
Unsolved problem query Provide unsolved IT Admin 7-evaluate problem
dbase data to be recorded into reports & send help LICENSE & USER
email
New problem data for Provide new problem SOFTWARE, LICENSE 7-evaluate problem
Admin data for Admin using & USER DATABASE reports & send help
email
Admin info Provides Admin info to 1-authorize user & send 8-create reports
reports
Admin
Required data Provide updated SOFTWARE, LICENSE 8-create reports
Admin info Provides Admin info to 1-authorize user & send 9-add/ remove
updated
Confirmation Give feedback of 9-add/ remove software IT Admin
confirmation to IT Admin
Software doesn’t exist Display error information 9-add/ remove software IT Admin
Admin
Added/ removed Proceed added/ 9-add/ remove software SOFTWARE,
process (9)
Admin info Provides Admin info to 1-authorize user & send 10-manage version
change
Software info for update Request software info User 10-manage version
change
Version update/ license Notify user of software 10-manage version User
change, software
version update
Update/ license change Provide valid software SOFTWARE, LICENSE 10-manage version
info info update and license & USER DATABASE update/ license
change change
Table 4. Data Dictionary
1.1source: user
1.3BNF descriptio006E
2. product key/ license request: Users request license key for registering