Synergysoft Scheduler System
Synergysoft Scheduler System
System
Version 0.1
4/10/2018
Software Requirements Specification for Java Pet Store System 2
Table of Contents
Table of Contents i
Revision History iii
1. Introduction 1
1.1 Purpose 1
1.2 Product Scope 1
1.3 Glossary 1
1.4 References 1
1.5 Overview 1
2. General Description 2
2.1 Product Perspective 2
2.1.1 System interfaces 2
2.1.2 User interfaces 2
2.1.3 Hardware interfaces 2
2.1.4 Software interfaces 2
2.2 Product Functions 3
2.2.1 Enterprise Requirements 3
2.3 User Characteristics - Jon 7
2.4 Constraints 8
2.5 Assumptions and Dependencies 8
2.6 Apportioning of Requirements - Jon 8
3. Specific Requirements 9
3.1 External Interfaces 9
3.2 Functions 12
3.2.1 Use Case: 1 Respond To Meeting Invitation 12
3.2.2 Use Case: 2 Initiate a meeting 14
3.2.3 System Functional Requirements 16
3.2.4 Nonfunctional Requirements 20
3.2.5 Deleted Requirements 24
3.2.6 System Non-functional Requirements 25
3.2.7 Deleted Requirements 25
4. Requirements Analysis – Paul & Shaun 25
4.1 Analysis Team and Roles - Paul 25
4.2 Analysis Process 26
4.3 Dependency Analysis 26
4.3.1 Enterprise Requirements Analysis 26
4.3.2 System Functional Requirements Analysis 27
4.3.3 System Nonfunctional Requirements Analysis 28
4.4 Issues Raised to SynergySoft - Shaun 29
4.5 Original Requirements Delivered by SynergySoft 30
4.5.1 ORIGINAL Enterprise Requirements: Stakeholders, Functional and Non-Functional
Objectives 1
4.5.2 ORIGINAL System Requirements: Functional Requirements 1
Software Requirements Specification for Java Pet Store System 3
Revision History
1. Introduction
1.1 Purpose
The product is a software application which is accessed from a web browser and used to schedule
meetings.
1.3 Glossary
This subsection contains definitions of all the terms, acronyms, and abbreviations used in the
document. Terms and concepts from the application domain are defined.
1.4 References
IEEE 830-1998
CS6354 Project Documentation, by Bouchier, Brewster, Fischer,
Herschbach, Nina
Project submissions from CS6361, Summer 2006
1.5 Overview
This document is laid out in a modified IEEE830-1998 style. The biggest difference from the
standard is the addition of section 4, which describes the process used to produce this document.
The following information is in this document:
Section 2: General description of product, including user interface screen shots, dependency
analysis, and enterprise requirements.
Section 3: Functional & Non-functional requirements. Note that all non-functional
requirements are grouped into one category, and not distributed among categories, as in
IEEE830. Section 3 also covers use cases and deleted requirements.
Software Requirements Specification for Java Pet Store System 6
2. General Description
This system is designed to be a facility for scheduling meetings and has many potential
applications, such as scheduling courses and flights, room assignments at hospitals and hotels,
scheduling national and international meetings, logistics, job scheduling in production systems, as
well as command and control systems.
The particular type of system is intended to support people in order to schedule their meetings.
Many software vendors have attempted to offer such a system, especially one with a powerful
vantage point (d., Microsoft, IBM-Lotus, etc.). However, SynergySoft, Inc. aims to provide a
product which would outperform any such system that is currently available in this highly
competitive market.
The system which SynergySoft, Inc. intends to build makes a step beyond the products currently on
the market and intends to make it self known as the best tool for scheduling in the industry. To do
this, the system must be distributed in a way never before done, as well as robust enough to handle
any size problem set. The ability to handle high level of demands while being user friendly enough
for day to day scheduling is one of many keys to the success of the system. If the system
developed is not realistic to utilize in business, then it will quickly fall out of favor with clients and
fail. This above nearly all else, must be central to the design and implementation of the system.
The SynergySoft, Inc. Scheduler system is a virtually self contained scheduling system; however, it
will require users to have access to a web browser on their workstation computer. This means that
the users of the system do not need to invest in any other software to get the most out of the
software system as any Windows based PC comes installed with a web browser, and any non
Windows machine can use FireFox or other freeware browsers. The system will also have the
ability to send email notifications to users when a new item is sent to their scheduling system
account. This feature is built into the Scheduler and does not require any other software to function.
As stated in section 2.1 the Scheduler system is a self contained system, relying on very little in the
way of external software interfaces. However, the system will require interfaces with the installed
computer’s hardware. The system is to be a web-enabled system, meaning that all user interaction
is done through a web browser. The System interfaces required on the system server are the
following:
o Database connection to the mySQL database containing user and schedule data
Software Requirements Specification for Java Pet Store System 7
All user interfaces other than initial installation occur through a web page.
The Enterprise functional & non-functional requirements requirements from SynergySoft have been
analyzed and all issues and ambiguities resolved. In some cases, the resolution is a deviation from
the requirements supplied by SynergySoft. This document is for review by SynergySoft project
management & marketing, and the changes to the spec should be analyzed for acceptability to
SynergySoft.
See section 4 for the process used to analyze the requirements, and to generate the modified
enterprise requirements below. Each requirement below has a trace back to the line number in the
original requirements specification, which is shown in section 4. They also note if there is a
dependency diagram object related to the requirement. Each requirement below that was modified
from the original has a Note in the requirement description, which describes how it was modified.
SynergySoft reviewers need to review the changes that were made to the delivered requirements, to
ensure they are agreeable.
Any user with an account on the system shall be permitted to create a meeting invitation,
and shall be able to invite anyone else on the system to the meeting.
Rationale: The SynergySoft spec is silent on this point, but our user rep says this is how it
needs to be.
Enterprise Dependency Diagram: Initiator
Requirement Tracing:
FUN51794 Manage Participant Interactions Requirement BouchierCs6361 Direct TO
POS51775 Meeting Initiator Requirement BouchierCs6361 Direct TO
NONFUN51807 Decentralized requests Requirement BouchierCs6361 Direct TO
NONFUN51814 Extensible Requirement BouchierCs6361 Direct TO
NONFUN51805 Reflects current meeting management Requirement BouchierCs6361
Direct TO
Software Requirements Specification for Java Pet Store System 8
The meeting initiator can be one of the participants, or some representative such as a
secretary
Traces from Enterprise Requirements lines: 29
Enterprise Dependency Diagram: Initiator
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct TO
POS51815 Any user can create meeting Requirement BouchierCs6361 Direct FROM
A meeting initiator will ask all potential meeting attendees for the following information:
* A set of dates & times on which they cannot attend the meeting (the exclusion set)
* A set of dates & times on which they would prefer the meeting to take place (the
preference set)
Requirement Tracing:
The request for dates is limited to a certain range of time in the future.
Traces from ER line 8;
Enterprise dependency: Date Range
Requirement Tracing:
POS51775 Meeting Initiator Requirement BouchierCs6361 Direct TO
A meeting date shall comprise a date and a start-time and a duration for the meeting. A
meeting date is a single occurrence. Recurring meetings are not addressed by this
requirement.
Software Requirements Specification for Java Pet Store System 9
Requirement Tracing:
The initiator shall ask active participants to state special equipment requirements
Traces from Enterprise Requirements lines 9-10
Enterprise Dependency Diagram: Equipment
Notes: The SynergySoft spec said "can ask" - we clarified it to "shall ask" after
consultation with user & domain reps.
Requirement Tracing:
POS51818 System Administrator Requirement BouchierCs6361 Direct TO
The initiator shall ask important participants to state preferences for meeting location
Traces from Enterprise Requirements lines: 11
Enterprise Dependency Diagram: Important Participants, Meeting Location
Notes: The SynergySoft spec said "can ask" - we clarified it to "shall ask" after
consultation with user & domain reps
Requirement Tracing:
POS51818 System Administrator Requirement BouchierCs6361 Direct TO
The proposed meeting date belongs to the stated date range and to none of the exclusion
sets, and should belong to as many preference sets as possible, and is made as early as
possible.
Traces from Enterprise Requirements lines: 12-13
Enterprise Dependency Diagram: Meeting Date, Inclusion Set, Exclusion Set, Date Range
Requirement Tracing:
A date conflict occurs when no date can be found that meets the requirements for a
proposed meeting date. A conflict is strong when no date can be found within the date
range and outside all exclusion sets. A conflict is weak when dates can be found within
the date range and outside all exclusion sets, but there is no date that is in all preference
sets.
Traces from Enterprise Requirements lines: 14 - 16
Software Requirements Specification for Java Pet Store System 10
Requirement Tracing:
FUN51797 Negotiation & conflict resolution Requirement BouchierCs6361 Direct TO
Requirement Tracing:
POS51775 Meeting Initiator Requirement BouchierCs6361 Direct TO
Each conflict should be done as quickly as possible and with no more interaction than is
really needed
Traces from Enterprise Requirements lines: 22-23
Enterprise Dependency Diagram: Performed Quickly, Minimal Interaction
Requirement Tracing:
A meeting room must be available at the selected meeting date. It should meet the
equipment requirements; furthermore it should ideally belong to one of the locations
preferred by as many important participants as possible. Meeting room unavailability and
equipment unavailability shall result in strong conflicts. Unavailability of the preferred
Software Requirements Specification for Java Pet Store System 11
location shall produce a weak conflict. In either case, conflict resolution shall be used to
resolve the conflict.
Traces from Enterprise Requirements lines: 24-25
Enterprise Dependency Diagram: Meeting Room, Meeting Location
Notes: The SynergySoft spec didn't say what to do if meeting room or equipment was
unavailable. We chose to treat meeting room and equipment unavailability the same as a
participant with an exclusion set which corresponds to the unavailability of a suitable room
or equipment; and where the location availability is treated the same as a participant with an
inclusion set which corresponds to the available dates.
Requirement Tracing:
POS51770 Conflict Resolution Policies SUSPECT Requirement BouchierCs6361 Direct
FROM
The number of negotiations should be kept minimal. but a new round of negotiation may be
required when no room can be found for a proposed meeting date.
Traces from Enterprise Requirements lines: 27-28
Enterprise Dependency Diagram:
Requirement Tracing:
Each meeting may take place in a virtual place, e.g. through teleconferencing through laptop
computers.
Traces from Enterprise Requirements lines: 26
Enterprise Dependency Diagram:
Requirement Tracing:
POS51774 Importance of virtual meeting Requirement BouchierCs6361 Direct TO
Requirement Tracing:
POS51773 Virtual meeting Requirement BouchierCs6361 Direct FROM
There shall be a person or persons in the organization who are responsible for administering
the system and keeping the system's knowledge of rooms, user accounts, etc. current.
Software Requirements Specification for Java Pet Store System 12
Notes: The whole administration area was not addressed in the SynergySoft spec. After
consultation with the domain rep we decided there needs to be an administrator. We need to
point this out to SynergySoft, because it affects manpower requirements.
Requirement Tracing:
FUN51820 Administrative Account Requirement BouchierCs6361 Direct TO
There are three types of users in this system. The first two are, authorized users, and non authorized
users, the only distinction between them is that authorized users are allowed to see the preference
and exclusion sets of other users. It is the third type of user, the administrator, who is able to
initially setup the system, add new users, and set their authorization level.
Most users will be of the type non-authorized. These users are able to accept or decline schedule
invitations, set their preferences or schedule meetings. However, during the schedule meeting
event, they will not be able to view the selected participants preference or exclusion set. This
means that the system will be 100% relied upon to ensure that a meeting time and location is found.
If a meeting time is not found, then the non-authorized user has to pick a resolution choice without
knowing what may resolve the issue the easiest.
The next most common type of user is the authorized user. These users have the same permissions
as the non-authorized user with the additional ability to view other users preference and exclusion
set. This ability allows them to visibly check who among their selected participants may cause a
meeting to have a conflict and contact them directly before sending out the invitations for the
meeting. This may help prevent some conflicts from occurring before the meeting is even entered
into the system. However, this advantage really is only helpful for small meetings of limited
number of individuals or meetings with a few important people who would determine the time and
location.
Finally, the system administrators are users who are able to setup the system from the initial
installation and maintain the systems user accounts. They automatically have the functionality of
authorized users within the normal operation of the system, however have additional menu options
which allow them to maintain the system.
All users have to have basic computer skills which include working with a web browser such as
Internet Explorer or FireFox. Since all interaction with the UI of the system is through a browser
window, the system can not be used without access and knowledge of web browser functionality.
2.4 Constraints
Software Requirements Specification for Java Pet Store System 13
There are a number of constraints which the system must abide by during development. The system
must be developed within their bounds. These constraints dictate a number of the functional and
nonfunctional requirements specified by this document. Others are because of a requirement
specified to us by our customer. All are important to be aware of during the implementation of the
software system.
o System is to be developed for distributed use as a web application. This will limit the ability
for real time updates to the system.
o System is to be developed in Java through Servelets and JSP pages.
o Data must be stored in a relational database for quick queries and storage.
o Passwords must be sent and stored in encrypted form.
o Some users are authorized users while some are non-authorized users. Non-authorized users
can not see other user’s preference and exclusion sets.
o System must be robust enough to handle virtual meetings through teleconferencing, etc.
o System must handle rescheduling meetings with no outside input from initiator unless
conflict arises
o System must be able to send email notifications to any common email server promptly and
correctly
o Keep user overhead to an absolute minimum. Anywhere the system can handle a decision
itself, it must do so.
o Server-Client communication must be done over TCP connections
o Meetings can be rescheduled up to 24hrs prior to their current start time.
SynergySoft, Inc. fully intends to ship a fully operational and complete system with its first release
version. However there is some functionality that could be released at a future date if needed.
The primary functionality that could be held back for future release is the Email Notification
feature. The ability to send out emails to users when a new invitation is ready to be viewed in the
system for acceptance or decline is a feature which will make the system far more user friendly in
the fast paced business world. It is however a feature that the system can be used without and still
function in its original scope and requirement.
If it is required that the Email Notification feature is postponed, it is highly recommended that this
feature be developed and added on to the system as quickly as physically possible. As it is highly
important to the ease of use by the customer and a big selling point which will help keep the system
ranked highly against competitors.
3. Specific Requirements
This section specifies the detailed requirements which the system shall meet.
This section specifies the user interfaces to the system. All user interfacing is done through a web
UI. The web pages are shown below.
Software Requirements Specification for Java Pet Store System 15
The schedule meeting screen allows the user to create a meeting invitation
Software Requirements Specification for Java Pet Store System 16
The preference/exclusion sets, and user preferences are set on this screen.
3.2 Functions
System functional requirements are specified by use cases and specific requirements. The use case
helps understand system behavior, and the specific requirements extend the information from the
use case.
--------------------------------------------------
CHARACTERISTIC INFORMATION
Software Requirements Specification for Java Pet Store System 17
Goal in Context: The user has been notified that they have been invited to a meeting or that it is
desired that they attend a meeting. Their goal is to respond by accepting or denying an invitation (if
one has been sent) and potentially to update their preference and/or exclusion-set. The method by
which they’re notified of a need to access the system is not addressed by this use case. An invitation
to which the user should respond may or may not exist (the meeting organizer may have called them
to alert them that they should update their preference & exclusion sets in preparation for a meeting
he’s going to call).
Scope: Scheduling system
Level: Primary task
Preconditions: User has an account & has logged in successfully, or has finished creating a meeting
invitation. User is not the administrator. There are no outstanding invitations that conflict with the
exclusion set.
Success End Condition: All outstanding invitations have been accepted or denied, and the user has
updated their preference/exclusion sets. No outstanding invitations overlap user’s exclusion set.
Minimal Guarantee: Any invitations that the user accepted or declined have been returned to
meeting initiator(s). Others are left outstanding. Any preference/exclusion set changes that the user
committed are stored in the system.
Primary Actor: Attendee
Trigger: User logs into system
----------------------------------------
MAIN SUCCESS SCENARIO
1. System shows all outstanding meeting invitations, user’s current meeting schedule, and
provides options that allow user to:
accept/decline zero or more invitations
modify preference/exclusion sets
create a meeting invitation
check for newly arrived invitations
logout
2. User accepts or declines all outstanding invitations
3. System shows user’s current meeting schedule, and provides options that allow user to:
modify preference/exclusion sets
create a meeting invitation
check for newly arrived invitations
logout
4. User updates preference/exclusion sets.
5. System shows user’s current meeting schedule, and provides options that allow user to:
modify preference/exclusion sets
create a meeting invitation
check for newly arrived invitations
logout
6. User logs out
----------------------
EXTENSIONS
1a There are no invitations:
1a1 system goes to step 3
Software Requirements Specification for Java Pet Store System 18
<put here there extensions, one at a time, each refering to the step of the main scenario>
<step altered> <condition> : <action or sub.use case>
<step altered> <condition> : <action or sub.use case>
----------------------
RELATED INFORMATION (optional)
Priority: Must
Performance Target: <the amount of time this use case should take>
Frequency: every login
----------------------------
OPEN ISSUES (optional)
1. Is integration with email, or other tools such as outlook a desirable future enhancement?
2. Need to bring in conference room equipment requirement
3. What should happen if there are multiple updates to an invitation?
4. What should happen to pending invitations that relate to meetings in the past
5. What should happen when a user declines a meeting they had already accepted? Possible
approach: resolve based on re-evaluating preference & exclusion sets
6. Another exception: Initiator deletes previously scheduled meeting
7. Do we want the system to offer banner ads?
--------------------------------------------------
CHARACTERISTIC INFORMATION
Goal in Context: The user creates a meeting invitation with maximal overlap with preference sets of
all attendees, and no overlap with any attendee’s exclusion set.
Scope: scheduling system
Level: Primary task
Preconditions: User is not an administrator
Success End Condition: Meeting is scheduled for all participants
Minimal Guarantee: A meeting that cannot be scheduled without overlapping a participant’s
exclusion set is not accepted by the system
Primary Actor: Meeting initiator
Trigger: User at step 2, 4, or 6 in use case 1 asks to create a new meeting
----------------------------------------
Software Requirements Specification for Java Pet Store System 19
See section 4 for the process used to analyze the requirements, and to generate the modified system
requirements below. Each requirement below has a trace back to the line number in the original
requirements specification, which is shown in section 4. They also note if there is a dependency
diagram object related to the requirement. Each requirement below that was modified from the
original has a Note in the requirement description, which describes how it was modified.
SynergySoft reviewers need to review the changes that were made to the delivered requirements, to
ensure they are agreeable.
The system shall assist users in planning meetings under the constraints expressed by
participants
Traces from System Functional Requirements lines: 35
Functional Dependency Diagram:
Requirement Tracing:
FUN51821 Meeting Notice Requirement BouchierCs6361 Direct TO
The system shall determine, for each meeting request, a meeting date and location so
that most of theintended participants will effectively participate
Traces from System Functional Requirements lines: 31-33
Functional Dependency Diagram: Meeting Request, Meeting Date, Meeting
Location
Software Requirements Specification for Java Pet Store System 21
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
A lower bound of 24 hours should be fixed between the time at which the meeting
date is determined and the time at which the meeting is actually taking place;
Traces from System Non-functional Requirements lines 77-78
Functional Dependency Diagram: Lower bound on time between calculation &
meeting date
Notes: this requirement was part of the performance requirement in the SynergySoft
spec. It was mis-categorized - it is actually a "not earlier than" functional
requirement on the meeting date selection. We recategorized it, and after
consultation with subject rep, set the bound to 24 hours.
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
SDMSshall assist users in replanning a meeting to support the changing user constraints, for
instance :
* to modify the exclusion set, preference set and/or preferred location before a
meetingdate/location is proposed; and
* to take some external constraints into account after a date and location have been
proposed - e.g., due to the need to accommodate a more important meeting. here, the
original meeting date or location may then need to be changed; sometimes the meeting may
even be cancelled.
Requirement Tracing:
NONFUN51802 Dynamic flexible replanning Requirement BouchierCs6361 Direct TO
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
The initiator shall state the importance of the meeting on a scale of 1 - 10.
Rationale: The importance shall be used to prioritize meetings when a more
important meeting is to take precedence, which may force cancellation of the
meeting (line 41).
Notes: The SynergySoft spec didn't contain this requirement, but implied the need
for it in line 41. After consultation we have added this requirement.
Requirement Tracing:
FUN51788 Assist replanning meetings Requirement BouchierCs6361 Direct
FROM
The system should be customizable to professional as well as private meetings - these two
modes of use are characterized by different restrictions on the time periods that may be
allocated (e.g., meetings during office hours, private activities during leisure time). The
system shall allow the initiator to set a time of day range that is allowed for the meeting start
time. The default shall be 9am - 5pm.
Traces from System Non-functional Requirements lines: 82-84
Functional Dependency Diagram: Initiate Meeting
Software Requirements Specification for Java Pet Store System 23
Notes: This was a non-functional requirement in the SynergySoft spec. After consultation
with subject rep, we decided it is not actually a non-functional requirement for
customizability, but a functional requirement to be able to set the range of hours for starting
the meeting. Accordingly, it is moved to functional requirements.
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
The system shall support conflict resolution according to resolution policies stated by the
initiator
Traces from System Functional Requirements lines: 43
Functional Dependency Diagram: Resolution policies, Client
Notes: changed ".. by the client" to "... by the initiator". There's no other mention of a client
in the SynergySoft spec, and our user rep thinks it makes most sense for an inititator to
specify conflict resolution policies.
Requirement Tracing:
POS51770 Conflict Resolution Policies Requirement BouchierCs6361 Direct FROM
The system shall manage all the interactions among participants required during the
organization of the meeting
Traces from System Functional Requirements lines: 44
Functional Dependency Diagram:
Requirement Tracing:
FUN51795 Communicate Requests Requirement BouchierCs6361 Direct TO
POS51815 Any user can create meeting Requirement BouchierCs6361 Direct FROM
The system shall communicate meeting requests to participants by sending email and
by showing meeting requests on the scheduler web page
Traces from System Functional Requirements lines: 45
Functional Dependency Diagram:
Notes: The SynergySoft spec didn't specify how communication should occur. After
consultation with user & subject reps, we agreed that email and display on the
scheduler web page should be the methods used. We will alert SynergySoft that this
requirement modification implies an interface to email systems, which may be a
significant effort. We believe this is important to making the product useful.
Requirement Tracing:
NONFUN51806 Convenient location available early Requirement BouchierCs6361
Direct TO
The system shall remind participants who haven't responded promptly to a meeting
invitation, by sending them email and cc'ing the meeting initiator.
Traces from System Functional Requirements lines: 46
Functional Dependency Diagram:
Notes:
This requirement used to say, "system shall get replies even from participants not
reacting promptly". It was not feasible as stated - the system can't bang someone on
the head and make them reply. We rewrote it after consultation with user & subject
reps, to send reminder email and to alert the initiator, who can bang someone on the
head.
Requirement Tracing:
FUN51794 Manage Participant Interactions Requirement BouchierCs6361 Direct
FROM
The system shall support the negotiation and conflict resolution processes
Traces from System Functional Requirements lines: 47
Functional Dependency Diagram: Conflict resolution, Resolution policies
Requirement Tracing:
POS51769 Date Conflict Requirement BouchierCs6361 Direct FROM
The system shall make participants aware of what's going on during the planning
process; keep participants informed about schedules and their changes;
Traces from System Functional Requirements lines: 48-49
Functional Dependency Diagram:
Requirement Tracing:
FUN51794 Manage Participant Interactions Requirement BouchierCs6361 Direct
FROM
There shall be an administrative user account, which shall be authorized to add and remove
and modify user accounts, rooms, equipment, and virtual meeting characteristics from the
system.
Notes: The whole administration area was not addressed in the SynergySoft spec. After
consultation with the domain rep we decided these are the functions that should be
performed by an administrator.
Requirement Tracing:
POS51818 System Administrator Requirement BouchierCs6361 Direct FROM
Requirement Tracing:
FUN51788 Assist replanning meetings Requirement BouchierCs6361 Direct FROM
The meeting scheduler system must in general handle several meeting requests in parallel.
Meeting requests can be competing when they overlap in time or space. Concurrency must
thus be managed
Traces from System Functional Requirements lines: 52-53
Software Requirements Specification for Java Pet Store System 26
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
The amount of interaction among participants (e.g., number and length of messages, amount
of negotiation required) should be kept minimal
Traces from System Non-functional Requirements lines: 59-60
Non-functional Dependency Diagram: Minimal interaction
Requirement Tracing:
FUN51794 Manage Participant Interactions Requirement BouchierCs6361 Direct FROM
The system shall make participants confident about the reliability of the communications
Traces from System Functional Requirements lines: 50
Functional Dependency Diagram:
Notes: This requirement was in the functional requirements section of the SynergySoft spec,
but it was mis-categorized - it is a non-functional requirement. It has been moved to the non-
functional requirements section.
Requirement Tracing:
FUN51794 Manage Participant Interactions Requirement BouchierCs6361 Direct FROM
The system should reflect as closely as possible the way meetings are typically managed
(see the domain theory above)
Traces from System Non-functional Requirements lines: 64
Software Requirements Specification for Java Pet Store System 27
Requirement Tracing:
POS51815 Any user can create meeting Requirement BouchierCs6361 Direct FROM
The meeting date and location should be as convenient as possible, and available as early as
possible, to all invitees
Traces from System Non-functional Requirements lines: 66-67
Non-functional Dependency Diagram: Convenient meetings
Notes: We changed "(potential) participants" to "invitees" for consistency of terminology
Requirement Tracing:
FUN51795 Communicate Requests Requirement BouchierCs6361 Direct FROM
The system should accommodate as much decentralized requests as possible; any authorized
user should be able to request a meeting independently of her whereabouts
Traces from System Non-functional Requirements lines: 68-69
Non-functional Dependency Diagram: Decentralized
Requirement Tracing:
POS51815 Any user can create meeting Requirement BouchierCs6361 Direct FROM
Physical constraints should not be broken - e.g., a person may not be at two different
placesat the same time; a meeting room may not be allocated to more than one meeting at
the same time; etc.
Traces from System Non-functional Requirements lines: 70-71
Non-functional Dependency Diagram: Physical constraints not broken
Requirement Tracing:
Software Requirements Specification for Java Pet Store System 28
* the elapsed time between the determination of a meeting date/location and the
communication of this information to all participants concerned should be minimal;
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
Requirement Tracing:
FUN51787 Assist planning meetings Requirement BouchierCs6361 Direct FROM
The system should be flexible enough to accommodate evolving data - e.g., the sets of
concerned participants may be varying, the address at which a participant can be reached
may be varying, etc.
Traces from System Non-functional Requirements lines: 85-86
Non-functional Dependency Diagram: Flexible to changing data
Requirement Tracing:
FUN51788 Assist replanning meetings Requirement BouchierCs6361 Direct FROM
The system should be easily extensible to accommodate the following typical variations:
* handling of explicit priorities among dates in preference sets;
Requirement Tracing:
POS51815 Any user can create meeting Requirement BouchierCs6361 Direct FROM
System shall assist users in Monitoring meetings, especially when they are held in a
distributed manner
Traces from Enterprise Requirements lines: 34
Enterprise Dependency Diagram: Meeting Monitoring
Notes: After discussion with developer, user & subject reps, we decided monitoring should
not be part of a scheduling system. If a monitoring system is needed, it should be a separate
system. Therefore this requirement and the associated non-funtional requirement are deleted
from the requirement set. We will point this out to SynergySoft.
Rationale:
1) It was suggested in the review that "monitoring" could be interpreted as meaning
monitoring changes in user schedules, exclusion sets etc. and how they interact with
scheduled meetings. We don't think the SynergySoft spec supports that interpretation - it
says, "Monitor meetings, especially when they are held in a distributed manner" so it is
talking about monitoring meetings, not monitoring participant schedule changes.
2) the functions of monitoring are too different from the functions of scheduling that they
should not be combined.
3) the monitoring function is not described in the SynergySoft spec. SynergySoft needs to
describe what this feature should do.
The intended system should considerably reduce the amount of overhead usually incurred in
* organizing meetings where potential attendees are distributed over many different
places and
This section describes how we analyzed the requirements, and what the dependencies mean.
Each line in the Enterprise requirements was analyzed and recast where necessary to fix issues. The
SynergySoft requirements document was scanned & OCR’d, and the text extracted into the
requirements management tool CaliberRM. After requirements were inserted, the requirements
were analyzed for consistency, completeness, testability, correct categorization, and other
requirements faults. Faults were corrected after consultation with subject & user representatives.
The notes section of each requirement tells how it was modified from the original. The original
requirements can be seen, along with line numbers, in section 4. Tracing was added to connect
requirements.
Each concept in the Enterprise requirements was analyzed for meaning and dependencies and
unresolved issues (dependencies could not be identified). The figure below shows which concepts
or actions depend on each other in the enterprise requirements after the requirements refinement and
issue resolution. A depends on B means without B there can be no A
The refined (better understanding) dependency diagram for concepts in the system functional
requirements is shown below
.
Software Requirements Specification for Java Pet Store System 33
The refined (better understanding) dependency diagram for concepts in the system functional
requirements is shown below
Software Requirements Specification for Java Pet Store System 34
The refined (better understanding) dependency diagram for concepts in the system non-functional
requirements is shown below.
Software Requirements Specification for Java Pet Store System 35
This section contains the original requirements set which SynergySoft delivered for analysis. The
requirements have been annotated with line numbers, which are referenced elsewhere in this
document.
4.5.1
Software Requirements Specification for Java Pet Store System 37
o to communicate requests;
o to get replies even from participants not reacting promptly;
o to support the negotiation and conflict resolution processes;
o to make participants aware of what's going on during the planning process; - to keep participants
informed about schedules and their changes; and
o to make them confident about the reliability of the communications.
The meeting scheduler system must in general handle several meeting requests in parallel. Meeting requests can be
competing when they overlap in time or space. Concurrency must thus be managed.
The meeting date and location should be as convenient as possible, and available as early as possible, to all
(potential) participants;
The system should accommodate as much decentralized requests as possible; any authorized user should be
able to request a meeting independently of her whereabouts;
Physical constraints should not be broken - e.g., a person may not be at two different places at the same time; a
meeting room may not be allocated to more than one meeting at the same time; etc.;
The system should provide an appropriate level of performance:
o the elapsed time between the submission of a meeting request and the determination of the
corresponding date/location should me minimal; or
o the elapsed time between the determination of a meeting date/location and the communication of this
information to all participants concerned should be minimal; or
o a lower bound should be fixed between the time at which the meeting date is determined and the time
at which the meeting is actually taking place;
Privacy rules should be enforced; a non-privileged participant should not be aware of constraints stated by
other participants;
The system should be usable by non-experts;
The system should be customizable to professional as well as private meetings - these two modes of use are
characterized by different restrictions on the time periods that may be allocated (e.g., meetings during office
hours, private activities during leisure time);
The system should be flexible enough to accommodate evolving data - e.g., the sets of concerned participants
may be varying, the address at which a participant can be reached may be varying, etc.;
Software Requirements Specification for Java Pet Store System 39
The system should be easily extensible to accommodate the following typical variations:
o handling of explicit priorities among dates in preference sets;
o handling of explicit dependencies between meeting date and meeting location;
o participation through delegation - a participant may ask another person to represent her/him at the
meeting;
o variations in date formats, address formats, interface language, etc.; and
o partial reuse in other contexts - e.g., to help establish course schedule.
Software Requirements Specification for Java Pet Store System 40