7/30/2019 SDPDocument (2)
1/26
Environment Remote
Sensing SystemSoftware Development Plan - Group 4
Adam Blaine, Craig Cabrey, Peter Mikitsh, Kristen Mills
Page 1 of 26
7/30/2019 SDPDocument (2)
2/26
Table of Contents
Section 1: Overview
Section 1.1: Assumptions
Section 2: Goals & Scope
Section 2.1: In scope
Section 2.2: Out of scope
Section 3: High-Level Functionality
Section 3.1: Administration
Section 3.2: Monitoring
Section 3.3: Sensor Stations
Section 3.4: Sensors
Section 4: Deliverables
Section 4.1: Release 1
Section 4.2: Release 2Section 4.3: Release 3
Section 4.4: Release 4
Section 5: Project Organization
Section 5.1: Roles
Section 5.2: Structure
Section 5.2.1: ERSS Application Server
Section 5.2.2: ERSS Station Server
Section 5.2.3: ERSS Sensor Clients
Section 6: Risk Management
Section 7: Scheduling & Estimates
Page 2 of 26
https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.uiktpzz7nj7zhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.8jfgs141otnkhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.jyjx9widkb5lhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.i9n77vv0g8ddhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.kqvguv98dw5https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.op9bqs9hcu43https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.sjj17zqgcy83https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.5hied9qv9tauhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.hgkyz4izfht2https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.300w7jhwi28shttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.qux7qlw03mushttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.y0y7pssv8vaohttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.gofecgtxsoxyhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.5gxers8fozwuhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.1dejmdzfzunohttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.ffoggki6uqpyhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.93s8tzmfggg4https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.5x9yb4j2aabhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.7nwxdqa2syarhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.2kj30cx1l0ukhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.3fjgiydr59ihttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.yp8pcigclwajhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.ytzie828n1dq7/30/2019 SDPDocument (2)
3/26
Section 7.1: Scrum Methodology
Section 7.1.1: Feature Estimation
Section 7.1.2: Scheduling
Section 7.2: RUP MethodologySection 7.2.1: Size Estimation
Section 7.2.1.1: Application Server Size
Estimation
Section 7.2.1.2: Station Server Size Estimation
Section 7.2.1.3: Sensor Client Size Estimation
Section 7.2.2: SchedulingSection 8: Measurements
Section 8.1: User/customer satisfaction
Section 8.1.1: How will it be used
Section 8.1.2: Why was it chosen
Section 8.2: Number of defects found during
development
Section 8.2.1: Usage
Section 8.2.2: Rationale
Section 8.3: Number of defects found after a release
Section 8.3.1: Usage
Section 8.3.2: Rationale
Section 8.4: Number of changes or change requests
Section 8.4.1: UsageSection 8.4.2: Rationale
Section 8.5: Documentation completeness/accuracy
Section 8.5.1: Usage
Section 8.5.2: Rationale
Page 3 of 26
https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.9pf3l86s8h3chttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.bmetpa9e1tsqhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.i6n08tzca808https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.v8zent6ijw56https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.p59q7zblholkhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.mb9jpfa6uu46https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.5uz9l16yzd9ehttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.qx1rm4teydgyhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.e5aaze1k8pvhhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.d9v38ndfvjgohttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.hyt01nk2pzxzhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.zc1paabx5qinhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.zc1paabx5qinhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.gwm4pze4zusehttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.d0bn6y8wq77vhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.fk65o7bvv8bvhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.frb4r3m1uo23https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.8yw56760jxn0https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.kdmmkfc7c273https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.h1jwgtqfvn7ehttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.54jbyxecbfkqhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.54jbyxecbfkqhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.4kynzqdszq73https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.8lderrf9ju95https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.s5w7bkci2x4ihttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.uegr4i2dqphrhttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.8le462j687sr7/30/2019 SDPDocument (2)
4/26
Section 9: Technical Process
Section 10: Conclusion
Section 11: Glossary
Page 4 of 26
https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.7k78yzdlwsn8https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.2ch5avplg75shttps://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#heading=h.tb5k8vojjcd17/30/2019 SDPDocument (2)
5/26
Section 1: Overview
This Software Development Plan for the Environment Remote Sensing System (ERSS) will
cover the functionality, platform, customers, schedule, and development responsibility of the
system. The primary goal of the system is to allow a non-profit environmental organization tomonitor migration and behavioral patterns of animals that are endangered or protected species.
Various sensor stations, which are part of a national network, will be placed in the proximity of
the areas being studied. Statistics from sensors will be sent to the sensor stations on regular
intervals. Administrators will be able to view the collected information and permit users at
specific locations to view specific collected information. Users with appropriate versions will be
able to generate reports and maps of the information.
Customers of the system include the non-profit environmental group, the Department of
Environmental Conservation (DEC) and the National Park Service (NPS), an agency operatingwithin the Department of the Interior (DOI).
Section 1.1: Assumptions
Assumption Description
Connectivity This system assumes the existence of aconnection between the main applicationserver and all stations that the applicationserver is configured for. The stations arecapable of buffering data up to a certainextent, but after this threshold is reached datamay be lost.
Hardware Malfunctions The ERSS assumes that all sensor hardwarewill work as intended and is not designed tohandle or detect any type of hardware error.Furthermore, the ERSS does not have anysafety alert systems built in as a result ofhardware failure.
Power Interruption The ERSS assumes that all systems will beup and online at all times. Any potential powe
issues caused by human error or naturalcauses should be taken care of via a devicessuch as a universal power supply.
Software Environment The ERSS application and station softwarewas designed to run on POSIX compatibleoperating system. The ERSS assumes theuse of this type of operating system.
Page 5 of 26
7/30/2019 SDPDocument (2)
6/26
Team Size We are assuming that the team size will belarge enough to accommodate the breadth ofthe project.
Budget We are assuming that there is a significant
enough budget to be able to support theproject in its entirety ranging from use oftechnology, to employees, to release andmaintenance of the ERSS.
Schedule We are assuming that there will be enoughtime given and scheduled such that theproject will be able to be accomplishedreasonably.
Government Constraint Given that this is a government project therewill be exceeding constraints involvingsecurity, scalability, deadlines, and budget.
Section 2: Goals & Scope
Section 2.1: In scope
The Environment Remote Sensing System (herein referred to as the ERSS) will target a
number of features and functionality points. The core functionality that is delivered by the ERSS
is to provide a mechanism by which large amounts of data can be collected from a variety of
remote locations. To achieve this, the ERSS will be designed as a hierarchical system. The core
collection component will be realized as an application on a central server. From there, each
remote location will feed the central application server with information through a standard
protocol developed for the ERSS. While the ERSS will provide a generic solution for the station
that will connect to the central application server, the client will be able to modify the
implementation to meet their specific needs. See Section 3: High-Level Functionality for more
specific details on the products functionality requirements.
Section 2.2: Out of scope
The ERSS focuses on the software implementation more than the hardware
implementation, so any hardware design will be out of the scope of the ERSS. This include
everything from communication arrays on sensor stations to the sensor implementationsthemselves. Finally, the interfacing between the hardware and software is also considered out of
scope. The ERSS uses standard protocols to communicate with all clients and devices, so the
ERSS depends on those devices properly implementing standard protocols.
Page 6 of 26
https://docs.google.com/a/g.rit.edu/document/d/s9lzwQn7Ifuy96mE4se-1sA/headless/print#bookmark=id.yw98wb6lk8tg7/30/2019 SDPDocument (2)
7/26
Section 3: High-Level Functionality
Section 3.1: Administration
The system should run from a central application server
Application server will grant access to stations to different users depending onaccess privileges
Managers can set privileges for users Through the interface, users are able to filter the incoming data from the different
stations to which they have access
New stations can be added as clients to the application server
Critical events will be reported to users depending on the locality of the event Sensor issues will be reported to the local station to which the sensor has
been added
Station connectivity issues will notify users of the central server of theissue
Each station should act as a sensor data collection server
Sensors may be polled for updates on a certain time interval (configurable) Each sensor can be added as a client to its local data collection server
Sensors should be set up for the type of data collection they support (GPS, audio,images, etc)
Section 3.2: Monitoring Monitoring of sensor stations should be done through a per-user based user interface
When a user logs into the system, only the stations he or she has access to will
be displayed
A User may view any historical data associated with the stations that they
currently have access to
The status of the monitoring stations the user has access to will be
updated on a certain time interval (configurable from only the management
interface)
A user will be able to export collected data in a variety of forms
Raw data exported will be supported
Generation of reports will also be supported (charts, time series, etc)
The management interface will have configurable options that relate to the monitoring
system
A limit can be set of the amount of historical data is retained (weeks, months,
years, etc)
A limit can be placed on how far back the user is allowed to go through historical
Page 7 of 26
7/30/2019 SDPDocument (2)
8/26
data (only when their account was created, some time period, or no restriction)
Options such as how often new data should be retrieved from the client
monitoring stations will also be configurable from the management interface
The user and management interfaces themselves may be implemented through various
means such as native (and mobile) applications and a web interface
Restrictions may be placed on how the application can be accessed (i.e. a usermay be restricted to only using the application installed on company computers)
Section 3.3: Sensor Stations
Must be able to be hooked to a networked PC
Antennas and hardware deployed by a third party
Variety of hardware supported if hardware supports standard protocols
PC can be networked through a landline connection, cellular connection, etc
Connected to a national grid.
This allows for DEC to run and monitor the status of all of the data in the grid
Software is configured to access (and authenticate through) centralauthentication server which in turn allows access to all configured sensor
stations
Section 3.4: Sensors
Sensors monitor information including body temperature, GPS location, gyroscope data,
audio, and video.
The ability to monitor additional types of information over time will be supported. Sensors collect information on configurable, regular intervals.
Sensor data is transmitted to the station on its own configurable, regular interval. Collected data is also buffered for one long data burst in the case of a weak signal Burst will occur if and when the sensor comes back into range
Sensors are first paired with sensor stations to set up communication with the sensor
station
Pairing with the station includes identifying the type(s) of information that theindividual sensor collects and which protocol it uses to relay that data
Page 8 of 26
7/30/2019 SDPDocument (2)
9/26
Section 4: Deliverables
Section 4.1: Release 1
For release 1 we would like the following features to be implemented:
Set user privileges
Adding new stations
Login to the system
Restrict how a user access the system
Retrieve information from the sensors
Pair sensors with the sensor stations
We also plan to have a large portion of the documentation done with this release.
Section 4.2: Release 2
For release 2 we would like the following features to be implemented:
Allow the DEC Personnel to access the information collected from all of the state parks
Allow the user to view historical data of the stations they have access to
Allow for export for raw data
Limit how far back personnel can go back in historical data
Configure how often data is retrieved from the mentoring station
Section 4.3: Release 3
For release 3 we would like the following features to be implemented:
Filter incoming data from stations a user has access to
Notification of critical events
Get sensor updates at configurable time intervals
Configure which type of data a sensor collects
The ability to generate reports
Set how long historical data is retained
Section 4.4: Release 4
For release 4 we would like the following features to be implemented:
Maximize uptime of system
Online configuration of stations (including the ability to add more stations)
Automated database backup system
Add Interface for extending or accessing the ERSS through plugin architecture
Page 9 of 26
7/30/2019 SDPDocument (2)
10/26
Section 5: Project Organization
Section 5.1: Roles
The development of the ERSS will make use of sub-teams to focus on the completion ofindividual components within the system. The following table describes the different roles that
will be utilize and their accompanying description.
Role Description
Project Manager Responsible for the overall progress, quality,and completion of the ERSS. All team leadsreport to the project manager for progress onindividual components.
Team Lead Responsible for the teams respectiveprogress, quality, and completion of acomponent of the ERSS. The team lead isresponsible for managing his own team andsetting the goals within the scope of the team.
Project Architect Responsible for the technical aspect of architecting the ERSS. Overall system is splitinto a number of components and from thereteams are created based on the identifiedcomponents.
Customer Liaison Represents the customer and can interactwith the project manager to give feedbackbased on the projects performance as wellas add or remove features from the overallproject. Also responsible for ensuring allappropriate measures are taken to mitigatedelays of project occurring due tobureaucracy.
Test Lead Responsible for developing and executingintegration tests. Test Lead mustcommunicate with each teams tester to keeptrack of overall test progress. Continuousintegration is performed and feedback is giveto each team to mitigate integration problemstowards the end of the project.
Team Developer Acts as an implementer for the teamsassigned component. Works with the teamlead and tester to ensure requirements arebeing met and that the test suite is developed
Page 10 of 26
7/30/2019 SDPDocument (2)
11/26
to accurately test the developed component.
Team Designer Works with the component assigned to theteam to develop a software design that meetsthe goals of the component while working
within the constraints imposed by the overallproject. Works with the project architect toensure that the proposed design fits andworks well within the overall system.
Team Tester Responsible for developing and executing atest suite that covers the teams assignedcomponent. Tester is also responsible forreporting breakage to the Team Lead so thatcommunication remains fluid between thewhole team and the project manager.
Team Integrator Responsible for integrating anysub-components within the teamscomponent as a result of the componentssoftware design. Works with the tester andteam developers to ensure the component issuccessfully integrated continuously andpasses all developed tests.
Contractor A general outside resource that may be usefulfor the development of certain parts of theERSS. Contractors are not responsible forthe completion of components and teamleads that utilize said resources are
responsible for monitoring the status ofcontractors work.
Section 5.2: Structure
The structure of the projects resources is based off of how the project is designed from a
technical aspect. Because of the use of a largely client - server design, the overall project
development structure will be split into three major teams.
Each team will be composed of at least the following:
Team Lead
Team Designer
Team Developer(s)
Team Tester
Team Integrator
Contractor if necessary
Page 11 of 26
7/30/2019 SDPDocument (2)
12/26
Section 5.2.1: ERSS Application Server
Within this team, there will be three more teams created:
ERSS Web Interface and Management Team
Backend and Database Team
Data Collection and Station Connectivity Team
Section 5.2.2: ERSS Station Server
Within this team, there will be four more teams created:
Station Interface and Management Team
Data Buffering and Backup Team
ERSS Connectivity Team
Sensor Connectivity and Collection Team
Section 5.2.3: ERSS Sensor Clients
Within this team, there will be three teams created:
Hardware Interfacing Team
Power Management Team
Station Connectivity Team
Additionally, the Hardware Interfacing Team will be making use of contractors that are familiar
with the hardware that is being used for the collars to be placed on the tracked animals. These
contractors will help improve the quality and speed up the development process and learning
curve of understanding the hardware components being used.
Page 12 of 26
7/30/2019 SDPDocument (2)
13/26
Section 6: Risk Management
ID Description Type P L(weeks)
E FirstIndicator
MitigationApproach
1 Imprecise timeestimation
Schedule 0.7 4 2.8 Goals arenot beingmet insmallerdeadlines.
Spend slightlymore time withscheduleplanning andtime estimationsuch that it willbe as close aspossible.
2 Project scopeexpansion/featur
e creep
Budget 0.3 3 0.9 Declaredscope is
veryspecific andrigid
Make scopeslightly broader
in order to allowfor expectedchange.
3 Lack ofcommunicationin team.
Operational 0.6 2 1.2 There isredundancyin workacrossteammembers
Have regularteam meetings,with transparentgoalsaccessible at alltimes.
4 The
requirementselicitationprocess is slowwhen workingwith thegovernment.
Slow
Environment
0.2 4 0.8 There is
little to nofeedback orthefeedbacklags behindtheproposal.
Actively involve
the customer inthedevelopment ofthe proposal.
5 Reliance uponsilver bullets
Technical 0.3 3 0.9 More time isspentresearchingtechnologie
s thancontributingto theproject.
Identify alltechnologiesthat should beinvestigated
beforehand andset a timeframefor the results oftheinvestigation.
6 Product isLarger than
Schedule 0.4 4 2.8 Initialdeadlines
Involve expertsoutside of the
Page 13 of 26
7/30/2019 SDPDocument (2)
14/26
Estimated set by thescheduleare missed.
project to helpreevaluate thescope and sizeof the projectand reevaluate
the schedule asa result.
7 Too muchformality(bureaucraticadherence tosoftware policiesand standards)results inunnecessary,time-consuming
overhead.
Process 0.3 5 1.5 When itfeels likethe projectis starting totendstowardsthrashingrather thanproductive
work.
Identify allproper channelsforcommunicationbefore the startof the project.Have adesignatedteam member
responsible forensuring allbureaucraticdeadlines aremet.
8 Productdepends ongovernmentregulations,which changeunexpectedly.
ExternalEnvironment
0.15 6 0.9 New billgoingthroughwhichaffectsprojectscope.
Identify allcurrentregulations andregulations thatare currentlypending thelegislationprocess.
9 Process isapplied too lateand the projectstalls.
Process 0.2 2 0.4 There arehigh levelsof thrashingwhile noprocess isinitiallyestablished
Start the projectwith welldefined process
10 Difficult projectmodules
integration
Technical 0.3 1 0.3 Design of the project
did notconsiderintegrationof modules,or nothought wasput intointegration.
Have a designthat thoroughly
plans for easeof integrationand is focusedon modularity.
Page 14 of 26
7/30/2019 SDPDocument (2)
15/26
There arelots ofmodulesinvolvedthat are
complex.
Page 15 of 26
7/30/2019 SDPDocument (2)
16/26
Section 7: Scheduling & Estimates
Section 7.1: Scrum Methodology
Section 7.1.1: Feature Estimation
The following table details how Scrum Feature Estimation is implemented. The user description
table identifies all actors in the system. Following the user description table is the estimation
table, which is a list of features with assigned story points.
User Description
User Any role detailed in the system below.
DECPersonnel
The people at the DEC (Department of Environmental Conservation)Headquarters in Washington.
National ParkPersonnel
The people at the national parks who install the system and monitor it locally
National ParkManagers
The people at the national parks who have admin privileges.
id Story Points User Action Goal Priorities
00 4 As a DECPersonnel,
I want to accessthe informationcollected from allNational Parkstations
So that I can generatenation-wide statistics.
Medium
01 2 As aNationalParkManager,
I want to be ableto set userprivileges,
So that I can manage mypersonnels access ofsystem features.
High
02 4 As a User, I want filter
incoming datafrom station that Ihave access to,
So that I can generate
reports.
Low
03 1 As aNationalParkManager,
I want add newstations,
So that I can collectinformation from morenational parks asnecessary.
High
Page 16 of 26
7/30/2019 SDPDocument (2)
17/26
04 3 As a User, I wantnotifications ofcritical events,
So that I can respond tothem.
Low
05 5 As a User, I want to get
sensor updatesat configurabletime intervals,
So that I have choice in
the granularity in thegenerated reports.
Low
06 3 As aNationalParkManager,
I want toconfigure whichtype of data asensor collects,
So that I can adapt to newneeds over time.
Low
07 2 As a User, I want to be ableto login to thestations that Ihave access to,
So that I can use it. High
08 5 As a User, I want to viewhistorical data ofstations I haveaccess to,
So that I can generatereports of historical data.
Medium
09 2 As a User, I want to exportraw data,
So that I can play with it. Medium
10 6 As a User, I want to generatereports,
So that I can do my job. Low
11 3 As aNationalParkManager,
I want to set forhow longhistorical data isretained,
So that I can managespace constraints of datacollected.
Low
12 4 As aNationalParkManager,
I want to placelimits on how farmy personnel cango back inhistorical data,
So that I hide the secrets. Medium
13 4 As a
NationalParkManager,
I want to
configure howoften data isretrieved from themonitoringstation,
So that I can control
power consumption withinthe system.
Medium
14 6 As aNationalPark
I want restricthow a user canaccess the
So that my personnel onlyaccess the system onauthorized machines.
High
Page 17 of 26
7/30/2019 SDPDocument (2)
18/26
Manager, system,
15 5 As a User, I want retrieve theinformation fromsensors,
So that I can monitor it. High
16 5 As aNationalParkManager,
I want be able topair a sensor witha sensor station,
So that I can retrieve datafrom it.
High
Section 7.1.2: Scheduling
User Story ID Start Date(weeks)
End date (weeks) Duration (weeks)
00 7 12 5
01 1 4 3
02 13 18 5
03 1 2 1
04 15 19 4
05 16 23 7
06 17 21 4
07 2 5 3
08 7 14 7
09 8 11 3
10 19 28 9
11 20 24 4
12 9 14 5
13 10 15 5
14 3 10 7
15 4 11 7
16 5 12 7
Page 18 of 26
7/30/2019 SDPDocument (2)
19/26
Section 7.2: RUP Methodology
The RUP Methodology requires certain tools (Rational) to be used and documentation to be
available for the methodology to work as intended. Additionally, RUP calls for the use of the
COCOMO model to estimate the size and effort of the system in terms of person-months.
Section 7.2.1: Size Estimation
Section 7.2.1.1: Application Server Size Estimation
Module Name SLOC Person-Months No. of People Productivity
ManagementInterface
15,000 10.6159 6 1412.97
Connectivity
Subsystem
12,000 9.72683 5 1233.70
DatabaseSubsystem
8,000 8.29743 4 964.15
AuthenticationSubsystem
5,000 6.90126 3 724.51
Total 40,000 35.54142 18 4335
Section 7.2.1.2: Station Server Size Estimation
Module Name SLOC Person-Months No. of People Productivity
Station Interface 3,000 5.64890 2 531.08
ConnectivitySubsystem
5,000 6.90126 3 724.51
Local DatabaseSubsystem
3,500 5.98607 2 584.69
Authentication
Subsystem
2,000 4.81872 1 415.05
SensorCollectionSubsystem
10,000 9.05591 4 1104.25
Total 23,500 32.41086 12 2828.5
Page 19 of 26
7/30/2019 SDPDocument (2)
20/26
Section 7.2.1.3: Sensor Client Size Estimation
Module Name SLOC Person-Months No. of People Productivity
SensorHardware BridgeSubsystem
3,000 5.64890 2 531.08
StationConnectivitySubsystem
4,000 6.32324 2 632.59
PowerManagementSubsystem
2,000 4.81872 1 415.05
Total 9,000 16.79086 5 1578.72
Section 7.2.2: Scheduling
Module Name Start Date Duration(Man-Months)
Management Interface April 2013 10.6159
Connectivity Subsystem May 2014 9.72683
DatabaseSubsystem
August 2013 8.29743
Authentication Subsystem January 2014 6.90126
Station Interface May 2013 5.64890
Connectivity Subsystem September 2013 6.90126
Local DatabaseSubsystem
April 2013 5.98607
Authentication Subsystem February 2014 4.81872
Sensor Collection Subsystem October 2014 9.05591
Sensor Hardware BridgeSubsystem
September 2014 5.64890
Station ConnectivitySubsystem
June 2014 6.32324
Page 20 of 26
7/30/2019 SDPDocument (2)
21/26
Power ManagementSubsystem
February 2014 4.81872
Total N/A 54.7
Page 21 of 26
7/30/2019 SDPDocument (2)
22/26
Section 8: Measurements
We took the following metrics:
Section 8.1: User/customer satisfaction
Section 8.1.1: How will it be used
It will be used to know whether we met the requirements that the customer presented us with.
Section 8.1.2: Why was it chosen
We chose user and customer satisfaction as a metric because it is important to design the
product in a way that pleases the customer and in a way that is usable for the user. This is one
of the most important metrics.
Section 8.2: Number of defects found during development
Section 8.2.1: Usage
We will use this to measure how attentive we were to defects in the development stage and
catching them early on rather than later on.
Section 8.2.2: Rationale
We chose number of defects found during development because that is a good measure of
quality and whether developers are testing their code before committing.
Section 8.3: Number of defects found after a release
Section 8.3.1: Usage
We will use this to measure how attentive we were to defects in the development stage and
helping us in the future so we dont have as many post release defects.
Section 8.3.2: Rationale
We chose number of defects found after a release because its important to keep track of this
information.
Section 8.4: Number of changes or change requests
Section 8.4.1: UsageIt will be used to see how well we stick to requirements or deviate from them.
Section 8.4.2: Rationale
We chose this this because its useful information
Section 8.5: Documentation completeness/accuracy
Page 22 of 26
7/30/2019 SDPDocument (2)
23/26
Section 8.5.1: Usage
To measure how well our documentation is written.
Section 8.5.2: Rationale
It is important to have good documentation. So measuring the completeness and accuracy ofour documentation is good so that your documentation is good.
Page 23 of 26
7/30/2019 SDPDocument (2)
24/26
Section 9: Technical Process
We have chosen the Scrum agile process methodology because it will allow for more customer
communication throughout the development of the project. Because of the projects large size, it
would be possible to deliver the wrong product due to lack of communication. Scrum will mitigate
this risk, leading to the highest quality deliverable being produced.
We have also chosen Scrum for its ability to promote self-organization and innovation on the
project. Teams can select the work they want to complete, offering greater flexibility and
improving relations between managers and developers. Additionally, as many teams will be
working on the project, Scrum frees each team to develop a communication strategy that works
most effectively to accomplish work.
Lastly, Scrum will allow the development team to deliver only the features of highest business
value first. By preventing any unnecessary features or gold-plating of requirements, we willachieve greater efficiency in the completion of work. This will lead to delivering a fully functional
deliverable earlier than with other process methodologies.
Page 24 of 26
7/30/2019 SDPDocument (2)
25/26
Section 10: Conclusion
The ERSS is a large software system that will be planned, designed, documented, implemented,
and delivered using the processes and resources outlined in this document. The Software
Development Plan for the ERSS helps to document the major decisions made and theassociated reasoning for future reference.
After looking at the provided requirements, major decisions were made to go about incorporating
the requested requirements. The ERSS as designed will support all requirements as presented.
Additionally, it will support features that make the maintenance and usability of the ERSS better.
For example, an automated backup system will be implemented and will be configurable to
assist with preserving all collected data.
Using the requirements as a basis for the system architecture, a client - server model was
decided upon. The main ERSS application resides on a central server at the preference of the
customer. The application server must have access to all the different stations that have beendeployed via some communication means.
As indicated in Section 9, the development of this system will utilize the Scrum agile
development process. The factors that went into making the decision to use Scrum involve
analysis of development time and cost. Scrum allows the customer to be highly involved with the
project and is able to see tangible results, leading to a more satisfied customer and a higher
quality process.
Finally, the software system will be accompanied by comprehensive documentation that outlines
how to use the system, how the system is structured, and documentation on how to extend the
system. The included documentation ranges from technical documents to customer orienteddocumentation such as a requirements document.
Page 25 of 26
7/30/2019 SDPDocument (2)
26/26
Section 11: Glossary
Term Definition
DEC Department of Environmental Conservation
NPS National Park Service
ERSS Environment Remote Sensing System
RUP Rational Unified Process
DOI Department of the Interior
Page 26 of 26