Appendix B: DigitalHome Software Requirements Specification

Version 1.2

October 18, 202X

image

Change History

*Added (A), Modified (M), Deleted (D)

Version

Date

AMD*

Author

Description

Change Request #

1.0

10/11/202X

A

Michel Jackson

First Version

 

1.1

10/15/202X

AM

Michel Jackson

Updated version, based on external review

1,2,3, 4, 5, 6, 7

1.2

10/18/202X

AM

Michel Jackson

Updated version, based on management requests

8, 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contents

DigitalHome Requirements Specification

Introduction

Team Project Information

Overall description

Product Description and Scope

Users Description

Development Constraints

Operational Environment

Functional Requirements

General Requirements

Thermostat Requirements

Humidistat Requirements

Appliance Management Requirements

DH Planner Requirements

DH Planner Requirements

Other Non-Functional Requirements

Performance Requirements

Reliability

Safety Requirements

Security Requirements

Maintenance Requirements

Business Rules

User Documentation:

References

Appendix – Use Case Diagram

DigitalHome Requirements Specification

1. Introduction

This document specifies the requirements for the development of a “Smart House”, called DigitalHome (DH), by the DigitalHomeOwner Division of HomeOwner, Inc. A “Smart House” is a home management system that allows home owners (or renters) to easily manage their daily lives by providing for a lifestyle that brings together home security, environmental and energy management (temperature, humidity and lighting), entertainment, and communications. The Smart House components consist of household devices (e.g., a power and lighting system, a heating and air conditioning unit, a home security system, a sound system, a water sprinkler system, small appliances, etc.), sensors and controllers for the devices, communication links between the components, and a computer system, which will manage the components.

The DigitalHome Software Requirements Specification (SRS) is based on the DigitalHome Customer Need Statement. It is made up of a list of the principle features of the system. This initial version of DigitalHome will be a limited prototype version, which will be used by HomeOwner management to make business decisions about the future commercial development of DigitalHomeOwner products and services. Hence, the SRS is not intended as a comprehensive or complete specification of DigitalHome requirements. This document was prepared by the DigitalHomeOwner Division, in consultation with the Marketing Division of HomeOwner, Inc.

2. Team Project Information

3. Overall description

3.1 Product Description and Scope

The Digital Home system, for the purposes of this document, is a system that will allow a home user to manage devices that control the environment of a home. The user communicates through a personal web page on the DigitalHome web server. The DH web server communicates, through a home wireless gateway device, with the sensor and controller devices in the home. The product to be produced will be a prototype which will allow business decisions to be made about future development of a commercial product. The scope of the project will be limited to the management of devices which control temperature, humidity and power to small appliances, through the use of a web-ready device.

3.2 Users Description

3.2.1

DigitalHome Users

3.2.1.1

A user shall be able to use the DH system capabilities to monitor and control the environment in his/her home.

3.2.1.2

A user is familiar with the layout of his/her home and the location of sensor and control devices (for temperature, for humidity, and for power to small appliances).

3.2.1.3

Although a user may not be familiar with the technical features of the DH system, he/she is familiar with the use of a web interface and simple web operations (logging in and logging out, browsing web pages, and submitting information and requests via a web interface).

3.2.1.4

A Master User will be designated, who will be able to manage user profiles and to limit or constrain the use of the system for other users. For example, the Master User can add new users, delete existing users, or may restrict who may or may not control the security system.

3.2.2

DigitalHome Technician

3.2.2.1

A DH Technician is responsible for setting up and maintaining the configuration of a DH system.

3.2.2.2

A DH Technician has experience with the type of hardware, software, and web services associated with a system like the DH system.

3.2.2.3

A DH Technician is specially trained by DigitalHomeOwner to be familiar with the functionality, architecture, and operation of the DH system product.

3.2.2.4

A DH Technician also has the same rights as a DH Master user.

3.3 Development Constraints

3.3.1

The “prototype” version of the DigitalHome System (as specified in this document) must be completed within twelve months of inception.

3.3.2

The development team will consist of five engineers. The DigitalHomeOwner Director will provide management and communication support.

3.3.3

The development team will use the Team Software Process (TSP) [Humphrey 2000] for this project.

3.3.4

Where possible, the DigitalHome project will employ widely used, accepted, and available hardware and software technology and standards, both for product elements and for development tools. See section 3.4 for additional detail.

3.3.5

Because of potential market competition for DigitalHome products, the cost of DigitalHome elements for this project should be minimized.

3.3.6

The DH system will be tested in a simulated environment. There will be no actual physical home and there will be a mixture of actual physical sensors and controllers, and simulated sensors and controllers. However, the simulated environment will be realistic and adhere to the physical properties and constraints of and actual home and to real sensors and controllers.

3.3.7

Changes to this document (e.g., changes in requirements/must be approved by the Director of the DigitalHomeOwner Division.

3.3.8

The Development Team will implement a final acceptance test process involving potential users and the upper level management of HomeOwner.

3.4 Operational Environment

Although the system to be developed is a “proof of concept” system intended to help HomeOwner, Inc, to make marketing and development decisions, the following sections describe operational environment concerns and constraints; some of them are related to issues of long-term production and marketing of a DigitalHome product.

3.4.1

The home system shall require and Internet Service Provider (ISP). The ISP should be widely available (cable modem, high speed DSL), such as Bright House or Bellsouth FastAccess.

3.4.2

DigitalHomeOwner DH Web Server

3.4.2.1

The DigitalHome Web server shall provide the capability for establishing and maintaining DH User Accounts and for interaction between a DH user and a DH user account.

3.4.3

Home DH Gateway Device

3.4.3.1

The DH Gateway device shall provide communication with all the DgitalHome devices and shall connect with a broadband Internet connection.

3.4.3.2

The Gateway contains an RF Module, which shall send and receive wireless communications between the Gateway and the other DigitalHome devices (sensors and controllers). The device operates at 418 MHz with up to a 100-foot range for indoor transmission.

3.4.4

Sensors and Controllers

3.4.4.1

The system includes digital programmable thermostats, which shall be used to monitor and regulate the temperature of an enclosed space. The thermostat provides a reading of the current temperature in the space where the thermostat is located; and provides a “set point” temperature that is used to control the flow of heat energy (by switching heating or cooling devices on or off as needed) to achieve the set point temperature. The sensor part of the thermostat has a sensitivity range between 14 °F and 104°F (−10°C and 40°C).

3.4.4.2

The system includes digital programmable humidistats, which shall be used to monitor and regulate the humidity of an enclosed space. The humidistat provides a reading of the current humidity in the space where the humidistat is located; and provides a “set point” humidity that is used to control humidifiers and dehumidifiers achieve the set point humidity.

3.4.4.3

The system includes magnetic alarm contact switches which are used monitor improper entry through a door or window.

3.4.4.4

The system includes home security alarms and lights, which can be activated by when DigitalHome senses a home security breach from a magnetic contact.

3.4.4.5

The system includes digital programmable power switches which shall be used to monitor the current state of an appliance (e.g., a lamp or a coffee maker) or to change the state of the appliance.

3.4.4.6

The system includes digital light sensors, which shall measure the amount of light that they sense. The light sensor reports the amount of light as a number between 0 (total darkness) and 100 (very bright).

4. Functional Requirements

This section provides a description of the functional requirements. There is use case diagram in the appendix, which provides an overview of the system functionality and shows the relationships between the DigitalHome System entities.

4.1 General Requirements

4.1.1

The DigitalHome System shall allow any web-ready computer, cell phone or PDA to control a home’s temperature, humidity, lights, home security, and the state of small appliances. The communication center of the system shall be a personal home owner web page (maintained by DigitalHomeOwner - at http://www.DigitalHomeOwner.com), through which a user shall be able to monitor and control home devices and systems.

4.1.2

Each DigitalHome shall contain a master control device (the DH Gateway Device) that connects to the home’s broadband Internet connection and uses wireless communication to send and receive communication between the DigitalHome system and the home devices and systems.

4.1.3

The DigitalHome shall be equipped with various environmental controllers and sensors (temperature controller-sensors, humidity controller-sensors, and power switches). Using wireless communication, sensor values can read and saved in the home database and values can be sent to controllers to change the environment.

4.2 Thermostat Requirements

4.2.1

The DigitalHome programmable thermostat shall allow a user to monitor and control a home’s temperature from any place, using almost any web ready computer, cell phone, or PDA.

4.2.1.1

The DigitalHome system shall be able to set the thermostat temperatures to between 60° F and 80° F.

4.2.1.2

The DigitalHome system shall be able to read and display the temperature at a thermostat position.

4.2.2

Up to eight thermostats shall be placed throughout the home and shall be controlled individually or collectively, so that temperature can be controlled at different levels in different home spaces.

4.2.2.1

A single thermostat shall be placed in an enclosed space (e.g., a room in the house) for which the air temperature is to be controlled.

4.2.2.2

For each thermostat, up to four different settings per day for every day of the week can be scheduled.

4.2.2.3

Scheduled settings may be overridden at any time, either remotely or manually at the thermostat itself.

4.2.3

A thermostat unit shall communicate, through wireless signals, with the master control unit.

4.2.4

The system shall support Fahrenheit and Celsius temperature values.

4.2.5

The system shall compatible with most centralized HVAC (Heating, Ventilation and Air Conditioning) systems: gas, oil, electricity, solar, or a combination of two or more.

4.3 Humidistat Requirements

4.3.1

The DigitalHome programmable humidistat shall allow a user to monitor and control a home’s humidity from any place, using almost any web ready computer, cell phone, or PDA.

4.3.1.1

A humidistat shall be able to humidify or dehumidify a living space.

4.3.2

Humidistats may be placed throughout the home and shall be controlled individually or collectively, so that humidity can be controlled at different levels in different home spaces.

4.3.3

A DigitalHome system shall use wireless signals to communicate, through the master control unit, with the humidistats.

4.3.4

A DigitalHome system shall be able to manage up to eight humidistats.

4.3.5

The user shall be able to select the humidity levels found most comfortable — from 30% to 60%.

4.4 Home Security System Requirements

4.4.1

The DigitalHome home security system consists of a set of contact sensors and a set of home security alarms, which are activated when there is a home security breach.

4.4.2

A DigitalHome system shall use wireless signals to communicate, through the master control unit, with sensors and alarms.

4.4.3

A DigitalHome system shall be able to manage up to thirty door and window sensors.

4.4.4

A DigitalHome system shall be able to activate both light and sound alarms.

4.4.5

4.5 Appliance Management Requirements

4.5.1

The DigitalHome programmable Appliance Manager shall provide for management of a home’s small appliances and shall allow the user to turn lights on or off as desired.

4.5.2

The unit shall be able to control up to forty power switches, which control the on/off condition of lighting devices in a room and 115 volt, 10 amp appliances that plug into a standard wall outlet.

4.5.3

The appliance manager shall have access to up to eight light sensors.

4.5.4

The system shall be able to provide information about whether a device is off/on, or information about the illumination level in a room.

4.6 DH Planner Requirements

4.6.1

The DigitalHome Planner shall be able to provide a user with the capability to direct the system to set various home parameters (temperature, humidity, lighting, home security contacts, and on/off appliance status) for certain time periods.

4.6.2

DigitalHome provides a monthly planner on its website.

4.6.3

Parameter values can be scheduled on a daily or hourly basis.

4.6.4

All planned parameter values can be overridden by a user.

4.6.5

Various plan profiles (normal monthly profile, vacation profile, summer profile, Holiday profile, etc.) may be stored and retrieved to assist in planning.

4.6.6

The DigitalHome Planner shall be able to provide various reports on the management and control of the home (e.g., historical data on temperature, humidity, lighting, etc.).

5. Other Non-Functional Requirements

5.1 Performance Requirements

5.1.1

The DigitalHome web server system shall be able handle up to 150 users and up to 90 requests per second.

5.1.2

Displays of environmental conditions (temperature, humidity, power, and light) shall be updated at least every two seconds.

5.1.3

Sensor (temperature, humidity, power and light) shall have a minimum data acquisition rate of 10 Hz.

5.1.4

An environmental sensor or controller device shall have to be within 100 feet of the master control device, in order to be communication with the system.

5.2 Reliability

5.2.1

The DigitalHome System must be highly reliable with no more than 1 failure per 10,000 operations.

5.2.2

Long range plans for the DigitalHome system include a backup DH server to be used in place of the main DH server, in case of main server failure. The prototype version of DigitalHome shall provide for future addition of a backup server.

5.2.3

The Digital Home System shall incorporate adequate backup and recovery mechanisms in order to insure user planning and usage data is not lost due to system failure.

5.2.4

All DigitalHome operations shall incorporate appropriate exception handling so that the system responds to a user with a clear, descriptive message when an error or an exceptional condition occurs.

5.3 Safety Requirements

5.3.1

Although there are no specific safety requirements, high system reliability is important to insure are there are no system failures in carrying out user requests. Such failures might affect the safety of home dwellers (e.g., inadequate lighting in dark spaces, inappropriate temperature and humidity for people who are in ill-health, or powering certain appliances when young children are present).

5.4 Security Requirements

5.4.1

Upon installation, a DigitalHome user account shall be established. The DigitalHome web system shall provide for authentication and information encryption through a reliable and effective security technology (e.g., Transport Layer Security).

5.4.2

Log in to an account shall require entry of an account name and a password.

5.5 Maintenance Requirements

5.5.1

The DH system shall be easy to modify and add features.

5.5.2

Although the product produced under this document will be “prototype” version, all modules and components of this prototype version shall be designed and implemented in such a manner that they may be easily incorporated in a fully specified commercial version of the DigitalHome System.

5.5.3

The design and development of DH modules shall use abstraction and information hiding to insure high module cohesion and loose coupling between modules.

5.6 Business Rules

5.6.1

All system documents (Software Requirements Specification, Architectural Design Specification, Module Detailed Design, Module Source Code, and all Test Plans) shall be up-to-date, use the Homeowner document format [HO2305] and reside in the HomeOwner Document Archive at completion of the project.

5.6.2

HomeOwner has designated Java as the preferred language for development of software for HomeOwner products. Exceptions to this rule must be approved by the CIO.

5.7 Documentation Requirements

5.7.1

The DigitalHome System shall provide users with online documentation about the DigitalHome system installed in their home. The user documentation shall include the following:

5.7.1.1

An FAQ section – a set of “Frequently Asked Questions” about use and maintenance of the DigitalHome System (e.g., “How do I change my password?”, “Where do I go to get DigitalHome support?”).

5.7.1.2

A section that explains how DH parameters are set and sensor values are read. This shall include information on limitations and constraints on parameter settings and sensor reading accuracy.

5.7.1.3

A section on how to use of the DH Planner.

5.7.2

Since this version of DigitalHome is a prototype, which will be used by HomeOwner management to make business decisions about the future commercial development of DigitalHomeOwner products, it is essential that a complete, mature set of software artifacts be developed so that they can be used and reused for future development. In addition to a Software Requirements Specification, documentation should include the following artifacts:

  • ■   Development Process

  • ■   Project Plan (including a Task Plan and Schedule, a Risk Management Plan, and a Configuration Management Plan)

  • ■   Software Design Description

  • ■   Source Code

  • ■   Unit Test Plans and Test Results Report

  • ■   Integration Plan

  • ■   System T System Test Plan and Test Results Report

  • ■   Acceptance Test Results Report

  • ■   Postmortem Report

6. References

  1. Humphrey 2000 Humphrey, W. S., Introduction to the Team Software Process, Addison-Wesley, 2000.

  2. HO2305 Sykes, J., and Rook, R., Guidelines for Developing HomeOwner Technical Reports, HO2305, March 2002.

  3. Meyer 2004 Meyer, G., Smart Home Hacks: Tips & Tools for Automating Your House, O’Reilly, 2004.

Appendix – Use Case Diagram

image