## 1.1 Purpose
The DigitalHome (DH) software is a home management system designed to enable residents to easily manage their daily lives. It provides a lifestyle that integrates security, environmental and energy management (temperature, humidity, and lighting), entertainment, and communications.

This initial version of DigitalHome is a limited prototype, intended to assist HomeOwner management in making business decisions regarding the future commercial development of DigitalHomeOwner products and services.

## 1.2 Scope
The software product to be produced is named DigitalHome (DH), which is a "Smart House" home management system.

The DigitalHome system aims to allow home residents to easily manage their daily lives by providing for a lifestyle that brings together security, environmental and energy management (temperature, humidity, and lighting), entertainment, and communications. For this initial prototype version, the software's capabilities will be limited to the management of devices that control temperature, humidity, security, and power to small appliances and lighting units, accessible through a web-ready device.

The application of this software is to provide a home management system that enhances daily living through automated control and monitoring. The primary objective and goal of this initial, limited prototype version of DigitalHome is to enable HomeOwner management to make informed business decisions regarding the future commercial development of DigitalHomeOwner products and services. The prototype DH software system will be situated in a simulated environment, meaning there will be no actual physical home, and all sensors and controllers will be simulated.

This Software Requirements Specification (SRS) is based on the DigitalHome Customer Need Statement and the Digital Home High Level Requirements Definition [HLRD 2010].

### 1.3.1 Product perspective

The DigitalHome (DH) is a "Smart House" home management system developed by the DigitalHomeOwner Division of HomeOwner Inc. This initial version is a limited prototype, intended to support HomeOwner management in making business decisions regarding the future commercial development of DigitalHomeOwner products and services. The DigitalHome Software Requirements Specification (SRS) is based on the Digital Home High Level Requirements Definition [HLRD 2010] and is supplemented by the Digital Home Use Case Model [HO2010].

A key aspect of this prototype is that the DH software system will be situated in a simulated environment. There will be no actual physical home, and all sensors and controllers will be simulated. However, this simulated environment will realistically adhere to the physical properties and constraints of an actual home and real sensors and controllers.

#### System interfaces
The DigitalHome system interfaces with various household devices, including heating and air conditioning units, security systems, small appliances, and lighting units, through a network of sensors and controllers. Communication with these devices is facilitated by a home wireless gateway device. The system also requires an Internet Service Provider (ISP) for external connectivity.

#### User interfaces
Users interact with the DigitalHome system primarily through a personal web page hosted on either the DigitalHome web server or a local home server. This web interface is accessible via web-ready devices such as computers, cell phones, or PDAs. User authentication requires the entry of an account name and a password. Additionally, manual temperature, humidity, and appliance state settings are possible directly on household devices, which temporarily override planned settings.

#### Hardware interfaces
The DigitalHome system interacts with the following hardware components:
*   **Home Computer:** Hosts the DH Home Web Server.
*   **DH Gateway Device:** This master control unit connects to the home’s broadband Internet connection and contains an RF Module for wireless communication with other DigitalHome devices. It operates with an indoor transmission range of up to 1000 feet.
*   **Environmental Controllers and Sensors:**
    *   Digital programmable thermostats, used to monitor and regulate temperature.
    *   Digital programmable humidistats, used to monitor and regulate humidity.
    *   Magnetic alarm contact switches, used to monitor entry through doors or windows.
    *   Security sound and light alarms, which can be activated upon detecting a security breach.
    *   Digital programmable power switches, used to monitor and control the state of small appliances and lighting units.
*   **HVAC Systems:** The system is compatible with centralized HVAC systems, including those powered by gas, oil, electricity, or solar energy.

#### Software interfaces
The DigitalHome system utilizes the following software interfaces:
*   **DH Home Web Server:** This central component provides interaction with and control of DH elements, storage of DH plans and data, the ability to establish and maintain DH User Accounts, and backup services for user account information, user plans, and a home database.
*   **Home Database:** Stores sensor values, configuration, default parameter settings, planning, and usage data.
*   **Security Protocols:** Employs Transport Layer Security (TLS) for authentication and information encryption.
*   **Operating System:** [N/A]
*   **Other Application Systems:** [N/A]

#### Communications interfaces
The DigitalHome system relies on the following communication interfaces:
*   **Internet Service Provider (ISP):** Required for broadband Internet access, supporting widely available options such as cable modem or high-speed DSL.
*   **Broadband Internet Connection:** Used by the DH Gateway device for external connectivity.
*   **Wireless Communication (RF):** The DH Gateway device uses wireless signals to communicate with DigitalHome sensors and controllers, with an indoor range of up to 1000 feet.
*   **Web-based Communication:** Facilitates user interaction with the DH web server.

#### Memory constraints
[N/A]

#### Operations
The DigitalHome system supports various operations:
*   **User-Initiated Operations:** Users can monitor and control home environmental parameters (temperature, humidity, security, appliance state) via the web interface. Master Users and DH Technicians have additional rights to change system configuration, add user accounts, set default parameters, and start or stop system operation.
*   **Periods of Interactive and Unattended Operations:** The system supports continuous monitoring and control, with interactive periods for user input and parameter adjustments.
*   **Data Processing Support Functions:** Includes reading and saving sensor values, and sending control commands to devices.
*   **Backup and Recovery Operations:** The system performs daily backups of all system data (configuration, default parameter settings, planning, and usage data). In the event of a system failure (e.g., power loss, loss of internet access, or other software or hardware failure), a recovery mechanism restores system data from the most recent backup.
*   **Error Handling:** All DigitalHome operations incorporate exception handling to ensure the system responds to users with clear, descriptive messages when an error or exceptional condition occurs.

#### Site adaptation requirements
The prototype system is designed to operate in a simulated environment that realistically adheres to the physical properties and constraints of an actual home and real sensors and controllers. This implies that the software is developed with the intention of eventual deployment in a physical home, requiring adaptation to specific site layouts and device placements.
[N/A]

#### Interfaces with services
The DigitalHome system interfaces with the following services:
*   **Internet Service Provider (ISP):** The system relies on an ISP for its broadband Internet connectivity.
*   **Security Services:** Employs Transport Layer Security (TLS) for secure communication, including authentication and information encryption.

### 1.3.2 Product functions

The DigitalHome system is a home management system designed to allow residents to easily manage their daily lives by integrating security, environmental, energy management, entertainment, and communications. The major functions the software will perform include:

*   **Environmental Control and Monitoring**:
    *   Monitor and control home temperature through programmable thermostats, allowing users to read current temperatures, set desired temperatures within a specified range, and schedule daily settings.
    *   Monitor and control home humidity through programmable humidistats, allowing users to read current humidity levels, set desired humidity levels, and schedule daily settings.
*   **Security Management**:
    *   Manage and monitor door and window contact sensors to detect security breaches.
    *   Activate sound and light alarms when a security breach is detected.
*   **Appliance and Lighting Control**:
    *   Manage small appliances and lighting units by allowing users to turn them on or off.
    *   Provide information about the current state (ON/OFF) of connected appliances.
*   **Planning and Scheduling**:
    *   Provide a monthly planner for users to create or modify daily schedules for environmental parameters (temperature, humidity) and appliance/light states.
    *   Allow users to override planned parameter values manually or through the web interface.
*   **Reporting**:
    *   Generate monthly reports detailing daily average, maximum, and minimum temperature and humidity values.
    *   Report on the day and time of any security breaches.
    *   Indicate periods when the DigitalHome system was not in operation.
*   **User and System Administration**:
    *   Establish and maintain user accounts, including the ability for a Master User to add accounts and change default settings.
    *   Allow a DigitalHome Technician (or Master User) to set up, maintain, and change system configurations, including system parameters and user accounts, and to start/stop system operation.
*   **Data Management**:
    *   Store DigitalHome plans and data on a home web server.
    *   Provide backup services for user account information, user plans, and the home database.
*   **Remote Access**:
    *   Enable users to monitor and control home devices and systems remotely via a personal web page on the DigitalHome web server, accessible through web-ready computers, cell phones, or PDAs.

### 1.3.3 User characteristics

The DigitalHome system is intended for two main groups of users:

*   **General Users**:
    *   Are familiar with the layout of their home and the location of sensor and control devices (for temperature, humidity, and power to small appliances and lighting units).
    *   Are not familiar with the technical features of the DigitalHome system itself.
    *   Are familiar with the use of a web interface and can perform simple web operations (logging in and logging out, browsing web pages, and submitting information and requests via a web interface).
    *   Are able to use the system capabilities to monitor and control the environment in their home.

*   **Master Users**:
    *   Are designated users with elevated privileges.
    *   Are able to change the configuration of the system, such as adding user accounts or changing default parameter settings.
    *   Possess the same rights and capabilities as a DigitalHome Technician.

*   **DigitalHome Technicians**:
    *   Are responsible for setting up and maintaining the configuration of a DigitalHome system.
    *   Have experience with the type of hardware, software, and web services associated with a system like DigitalHome.
    *   Are specially trained by DigitalHomeOwner to be familiar with the functionality, architecture, and operation of the DigitalHome system product.
    *   Have rights beyond the General User, capable of setting up and making changes in the system configuration (e.g., setting system parameters, establishing user accounts), and starting and stopping the operation of the DigitalHome System.

### 1.3.4 Limitations

The following items limit the supplier's options for the DigitalHome system:

*   **Project Scope and Nature:**
    *   This initial version is a limited prototype, intended for HomeOwner management to make business decisions about future commercial development, not as a comprehensive or complete specification.
    *   The system will be situated in a simulated environment; there will be no actual physical home, and all sensors and controllers will be simulated. However, the simulated environment must be realistic and adhere to physical properties and constraints of an actual home and real devices.
    *   The scope is limited to managing devices that control temperature, humidity, security, and power to small appliances and lighting units via a web-ready device.
    *   All modules and components of this prototype must be designed and implemented to be incorporated into a fully specified commercial version of the DigitalHome System.

*   **Development Constraints:**
    *   The prototype must be completed within twelve months of inception.
    *   The development team will consist of five engineers.
    *   The development team must use the development process specified by Digital HomeOwner Inc.
    *   Where possible, the project must employ widely used, accepted, and available hardware and software technology and standards for both product elements and development tools.
    *   The cost of DigitalHome elements (sensors, controllers, server, tools, etc.) for this project should be minimized due to potential market competition.
    *   Major changes to this SRS must be approved by the Director of the DigitalHomeOwner Division.
    *   Object-oriented development, using UML 2.0, is the preferred method for software development; exceptions require CIO approval.

*   **Regulatory Requirements and Policies:**
    *   The system must adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).
    *   All system documents must be up-to-date, use the HomeOwner document format, and reside in the HomeOwner Document Archive.
    *   Development must support system maintenance through documentation of requirements, design, and code; use of abstraction, information hiding, and module independence; and adherence to IEEE standards (830, 1008, 1016, 1028) and the HomeOwner Coding Standard.

*   **Hardware and System Capacity Limitations:**
    *   The DH Gateway device shall operate up to a 1000-foot range for indoor transmission, and environmental sensor/controller devices must be within 1000 feet of the master control device.
    *   Thermostat sensors have a sensitivity range between 14°F and 104°F (-10°C and 40°C).
    *   Thermostat set points are limited to between 60°F and 80°F, inclusive, in one-degree increments.
    *   Humidistat set points are limited to between 30% and 60% humidity, inclusive, in 1% increments.
    *   The system can manage up to eight thermostats and up to eight humidistats.
    *   The system can manage up to fifty door and window contact sensors.
    *   The Appliance Manager can manage up to one hundred 115 volt, 10 amp power switches.

*   **Operational Environment and Interfaces:**
    *   The home system requires an Internet Service Provider (ISP).
    *   The system must be compatible with centralized HVAC systems (gas, oil, electricity, solar, or combinations).

*   **Control and Planning Limitations:**
    *   For each thermostat and humidistat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
    *   The monthly planner allows for up to four daily time periods for environmental parameter settings.
    *   Reporting on home management and control is limited to the past two years.

*   **Security Considerations:**
    *   Authentication and information encryption must be provided through a recognized, reliable, and effective security technology, such as Transport Layer Security.
    *   Log in to an account requires entry of an account name and a password.

## 1.4 Definitions
*   **ASHRAE**: American Society of Heating, Refrigerating and Air-Conditioning Engineers.
*   **Authentication**: Any process by which it is verified that someone is who they claim they are. This typically involves submission and verification of a username and a password.
*   **Broadband Internet**: A high data rate Internet access, typically contrasted with slower dial-up access.
*   **DH (Digital Home)**: The name of the prototype smart home product that is to be produced by DigitalHomeOwner.
*   **DigitalHomeOwner**: The division of HomeOwner Inc. responsible for producing DigitalHome products.
*   **DSL (Digital Subscriber Line)**: A family of technologies that provides digital data transmission over the wires of a local telephone network.
*   **Encryption**: The process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
*   **FAQ**: Frequently Asked Question.
*   **Gateway Device**: A home networking device used to connect devices in the home to the Internet or other Wide Area Networks.
*   **HomeOwner Inc.** The largest national retail chain serving the needs of home owners in building, furnishing, repairing, and improving their homes.
*   **HVAC**: Heating, Ventilation and Air Conditioning.
*   **Humidistat**: An instrument that measures and controls relative humidity.
*   **ISP**: Internet Service Provider.
*   **PDA**: Personal Digital Assistant.
*   **RF**: Radio Frequency.
*   **Security Breach**: An external act that bypasses or contravenes the digital home security system. For example, if an intruder opens a door where the contact sensor is set to “on”, the system will sense a ‘security breach’.
*   **Set Point**: A numeric value that establishes the desired value of an environmental quality (e.g., a temperature value of 70° F).
*   **SRS**: Software Requirements Specification.
*   **Transport Layer Security**: Cryptographic protocols that provide security for communications over networks such as the Internet.

# 2 References

This section provides a complete list of all documents referenced elsewhere in this Software Requirements Specification.

## Compliance
This section contains references to documents that include requirements which are incorporated by citation into this SRS.

*   **[ASHRAE 2010]** American Society of Heating, Refrigerating and Air-Conditioning Engineers. Website for American Society of Heating, Refrigerating and Air-Conditioning Engineers. Accessed October 2010. Available at: http://www.ashrae.org/.
*   **[HLRD 2010]** DigitalHomeOwner Division, Homeowner Inc. Digital Home High Level Requirements Definition. September 2010. Available from Homeowner Inc.
*   **[HO2305]** Sykes, J., and Rook, R. Guidelines for Developing HomeOwner Technical Reports, HO2305. Homeowner Inc. March 2002. Available from the HomeOwner Document Archive.
*   **[HO4710]** Kramer, S. HomeOwner Coding Standard, HO4710. Homeowner Inc. August 2009. Available from Homeowner Inc.

## Guidance
This section contains references to documents that provide information or context, but do not contain explicit requirements for the DigitalHome system itself.

*   **[HO2010]** Digital Home Use Case Model. HomeOwner Inc, DigitalHomeOwner Division. October 24, 2010. Available from HomeOwner Inc.
*   **[IEEE830]** IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications. Institute of Electrical and Electronics Engineers, Inc. 1998. Available from Institute of Electrical and Electronics Engineers, Inc.
*   **[IEEE 1008]** ANSI/IEEE Std 1008-1987, IEEE Standard for Software Unit Testing. Institute of Electrical and Electronics Engineers, Inc. 1987. Available from Institute of Electrical and Electronics Engineers, Inc.
*   **[IEEE1016]** IEEE Std 1016-2009, IEEE Standard for Information Technology - Systems Design - Software Design Descriptions. Institute of Electrical and Electronics Engineers, Inc. 2009. Available from Institute of Electrical and Electronics Engineers, Inc.
*   **[IEEE1028]** IEEE Std 1028-2008, IEEE Standard for Software Reviews and Audits. Institute of Electrical and Electronics Engineers, Inc. 2008. Available from Institute of Electrical and Electronics Engineers, Inc.

## 3.1 Functions

The DigitalHome system provides the following fundamental functions:

### 3.1.1 General System Control and Monitoring
*   The DigitalHome System shall allow a web-ready computer, cell phone, or PDA to control a home's temperature, humidity, lights, security, and the state of small appliances.
*   The communication center of the DH system shall be a DH home web server, through which a user shall be able to monitor and control home devices and systems.
*   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.
*   Using wireless communication, sensor values can be read and saved in the home database.
*   Controller values can be sent to controllers to change the DH environment.

### 3.1.2 Environmental Control
#### 3.1.2.1 Temperature Control (Thermostat)
*   The DigitalHome programmable thermostat shall allow a user to monitor a home’s temperature from any location.
    *   A DH user shall be able to read the temperature at a thermostat position.
*   The DigitalHome programmable thermostat shall allow a user to control a home’s temperature from any location.
    *   A DH user shall be able to set the thermostat temperatures to between 60°F and 80°F, inclusive, at one-degree increments. (Validity check on input range and increment)
*   The system shall support up to eight thermostats placed in rooms throughout the home.
    *   The thermostats may be controlled individually or collectively, allowing temperature control at different levels in different home spaces. (Effect of parameters)
    *   For each thermostat, up to twenty-four one-hour settings per day for every day of the week can be scheduled. (Sequence of operations, effect of parameters)
    *   If a thermostat device allows a user to make a manual temperature setting, the setting shall remain in effect until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period. (Sequence of operations, recovery from manual override)
*   The system shall support Fahrenheit and Celsius temperature values. (Input/output conversion)

#### 3.1.2.2 Humidity Control (Humidistat)
*   The DigitalHome programmable humidistat shall allow a user to monitor a home’s humidity from any location.
    *   A DH user shall be able to read the humidity at a humidistat position.
*   The DigitalHome programmable humidistat shall allow a user to control a home’s humidity from any location.
    *   A DH user shall be able to set the humidity level for a humidistat, from 30% to 60%, inclusive, at 1% increments. (Validity check on input range and increment)
*   The system shall support up to eight humidistats placed in rooms throughout the home.
    *   For each humidistat, up to twenty-four one-hour settings per day for every day of the week can be scheduled. (Sequence of operations, effect of parameters)
    *   If a humidistat device allows a user to make a manual temperature setting, the setting shall remain in effect until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period. (Sequence of operations, recovery from manual override)

### 3.1.3 Security Management
*   The DigitalHome system shall be able to manage up to fifty door and window contact sensors.
*   The DigitalHome system shall be able to activate both light and sound alarms: one sound alarm and one light alarm subsystem, with multiple lights.
*   When a security breach occurs and a contact sensor is set OPEN, the alarm system shall be activated. (Response to abnormal situation, input/output sequence)

### 3.1.4 Appliance Management
*   The DigitalHome programmable Appliance Manager shall provide for management of a home’s small appliances, including lighting units, by allowing a user to turn them on or off as desired.
*   The Appliance Manager shall be able to manage up to one hundred 115 volt, 10 amp power switches.
*   The system shall be able to provide information about the state of a power switch (OFF or ON), indicating whether an appliance connected to the power switch is OFF or ON. (Relationship of outputs to inputs)
*   The system shall be able to change the state of a power switch (OFF to ON, or ON to OFF), in turn changing the state of an appliance connected to the power switch. (Relationship of outputs to inputs, effect of parameters)
*   If a user changes the state of a power switch device manually, the device shall remain in that state until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period. (Sequence of operations, recovery from manual override)

### 3.1.5 Planning and Reporting
#### 3.1.5.1 Planning
*   DigitalHome Planner shall provide a user with the capability to direct the system to set various preset home parameters (temperature, humidity, security contacts, and on/off appliance/light status) for certain time periods. (Effect of parameters)
*   DigitalHome provides a monthly planner.
    *   For a given month and year, a user shall be able to create or modify a month plan that specifies for each day, for up to four daily time periods, the environmental parameter settings (temperature, humidity, contact sensors and power switches). (Input processing, effect of parameters)
    *   A user shall be able to override planned parameter values, through the DH website, or if available, through manual switches on household devices. (Sequence of operations, effect of parameters)

#### 3.1.5.2 Reporting
*   For a given month and year, in the past two years, DigitalHome shall be able to provide a report on the management and control of the home.
    *   The month report shall contain daily average, maximum (with time) and minimum (with time) values of temperature and humidity for each thermostat and humidistat, respectively. (Formulas for input to output conversion)
    *   The month report shall provide the day and time for which any security breaches occurred, that is, when the security alarms were activated. (Relationship of outputs to inputs, response to abnormal situations)
    *   The month report shall provide a section that indicates the periods of time when the DH System was not in operation. (Relationship of outputs to inputs, response to abnormal situations)

### 3.1.6 Responses to Abnormal Situations and Error Handling
*   All DigitalHome operations shall incorporate exception handling so that the system responds to a user with a clear, descriptive message when an error or an exceptional condition occurs.
*   [N/A] Overflow
*   [N/A] Hardware faults and failures (beyond general exception handling)

### 3.1.7 Input/Output Sequences and Conversions
*   Sensor values are read wirelessly and saved in the home database.
*   Controller values are sent wirelessly to controllers to change the DH environment.
*   Temperature settings are input by the user and converted for display/control as needed (Fahrenheit/Celsius).
*   Humidity settings are input by the user as percentages.
*   Security breach (contact sensor OPEN) is an input that triggers alarm activation (output).
*   Appliance state changes (ON/OFF) are commanded by user input and reflected in the appliance's state (output).
*   Reports are generated based on stored sensor data, security events, and system operational status.
*   [N/A] Exact sequence of operations (beyond what is implied by scheduling and manual overrides).
*   [N/A] Formulas for input to output conversion (beyond temperature unit conversion and min/max/average calculations for reports).

## 3.2 Performance requirements
*   Displays of environmental conditions (temperature, humidity, contact sensors, and power switches) shall be updated at least every two seconds.
*   Environmental sensors (temperature, humidity, contact sensor, power state) shall have a minimum data acquisition rate of 10 Hz.
*   An environmental sensor or controller device shall be within 1000 feet of the master control device to communicate with the system.

## 3.3 Usability requirements

The DigitalHome system shall provide an intuitive web interface, enabling general users who are familiar with basic web operations (e.g., logging in, browsing, submitting information) but not the technical specifics of the system, to easily monitor and control their home environment.

All DigitalHome operations shall incorporate exception handling to provide users with clear, descriptive messages when errors or exceptional conditions occur.

The system shall provide comprehensive online user documentation, including:
*   An FAQ section addressing common questions about system use and maintenance.
*   Explanations on how to set DigitalHome parameters and read sensor values, including limitations and constraints.
*   Instructions on how to use the DigitalHome Planner.

Measurable effectiveness criteria: [N/A]

Measurable efficiency criteria: [N/A]

Measurable satisfaction criteria: [N/A]

Avoidance of harm that could arise from use in specific contexts of use: [N/A]

## 3.5 Logical database requirements

The DigitalHome system requires the storage and management of various types of information within a home database, accessible via a DH home web server.

a) Types of information used by various functions:
*   **User Accounts**: Includes account names and passwords for authentication.
*   **User Plans**: Monthly plans specifying daily environmental parameter settings for up to four daily time periods.
*   **Environmental Parameter Settings**: Values for temperature, humidity, security contacts (e.g., door/window status), and appliance/light on/off status.
*   **Sensor Values**: Readings from thermostats (temperature), humidistats (humidity), contact sensors (security breaches), and power switches (appliance state).
*   **Configuration Data**: System-wide settings and parameters.
*   **Default Parameter Settings**: Predefined values for environmental controls.
*   **Usage Data**: Information related to system operation and user interactions.
*   **Historical Report Data**: Daily average, maximum (with time), and minimum (with time) values of temperature and humidity for each thermostat and humidistat, records of security breaches (day and time), and periods when the DH System was not in operation.

b) Frequency of use:
*   Sensor values are acquired at a minimum rate of 10 Hz and saved in the home database, with displays updated at least every two seconds.
*   System data (configuration, default parameter settings, planning, and usage data) is backed up on a daily basis.
*   Users can create or modify monthly plans for environmental parameter settings.
*   Monthly reports are generated for historical data.

c) Accessing capabilities:
*   Users interact with and control DH elements, manage user accounts, and access stored data through a personal web page on the DigitalHome web server or a local home server.
*   The DH Home Web Server provides the primary interface for data interaction, control, storage, and backup services.
*   DH Technicians have elevated access rights to set system parameters, establish user accounts, and configure backup times.
*   Master Users can change system configuration, add user accounts, and modify default parameter settings.

d) Data entities and their relationships:
*   Key data entities include User Accounts, User Plans, Environmental Parameter Settings, Sensor Readings, Configuration Settings, and Historical Report Data.
*   Relationships are implied: User Accounts are associated with User Plans; User Plans contain specific Environmental Parameter Settings; Sensor Readings are collected from various devices; Configuration Settings define system behavior; and Historical Report Data is aggregated from stored sensor readings, parameter settings, and system events.
*   [N/A - No explicit data model or entity-relationship diagram is provided in the original SRS.]

e) Integrity constraints:
*   The system incorporates backup and recovery mechanisms to restore system data (configuration, default parameter settings, planning, and usage data) from the most recent daily backup in case of system failure.
*   Manual temperature or humidity settings made on devices remain in effect until the end of the planned or default time period, after which the scheduled settings resume.
*   Temperature settings are constrained to be between 60°F and 80°F, inclusive, in one-degree increments.
*   Humidity settings are constrained to be between 30% and 60%, inclusive, in 1% increments.

f) Security:
*   User accounts require authentication through an account name and password for login.
*   Information encryption, such as Transport Layer Security, is employed for secure communication and authentication.
*   Access to system configuration and data modification is controlled by user roles: General User, Master User, and DH Technician, each with defined permissions.

g) Data retention requirements:
*   Historical data necessary for generating monthly reports (including daily average, maximum, and minimum temperature/humidity values, security breach events, and periods of system non-operation) must be retained for the past two years.
*   All system data (configuration, default parameter settings, planning, and usage data) is subject to daily backup.

## 3.6 Design constraints

The design and development of the DigitalHome system are subject to the following constraints:

*   **Project and Development Process Constraints:**
    *   The prototype version of the DigitalHome System must be completed within twelve months of inception.
    *   The development team will consist of five engineers, with management and communication support from the DigitalHomeOwner Director.
    *   The development team will use the development process specified by Digital HomeOwner Inc.
    *   Major changes to requirements must be approved by the Director of the DigitalHomeOwner Division.
    *   Object-oriented development, using UML 2.0, is the preferred method for software development.
*   **Technology and Standards Constraints:**
    *   Where possible, the project will employ widely used, accepted, and available hardware and software technology and standards for both product elements and development tools.
    *   The system shall be compatible with centralized HVAC systems (gas, oil, electricity, solar, or combinations) and adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers [ASHRAE 2010].
    *   The development shall use IEEE standards [IEEE830, IEEE1008, IEEE1016, IEEE1028] and the HomeOwner Coding Standard [HO4710] to support system maintenance.
    *   All system documents shall use the HomeOwner document format [HO2305] and reside in the HomeOwner Document Archive.
    *   Authentication and information encryption shall be provided through a recognized reliable and effective security technology, such as Transport Layer Security.
*   **Cost Constraints:**
    *   The cost of DigitalHome elements (sensors, controllers, server, tools, etc.) for this project should be minimized.
*   **Operational Environment and Hardware Constraints:**
    *   The system will be tested in a simulated environment, with simulated sensors and controllers, but the simulation must adhere to the physical properties and constraints of an actual home.
    *   The home system shall require an Internet Service Provider (ISP) that is widely available (e.g., cable modem, high-speed DSL).
    *   The system shall have the capability to establish an individual home web server hosted on a home computer.
    *   The system shall include a DH Gateway device that provides communication with all DigitalHome devices, connects to a broadband Internet connection, and contains an RF Module for wireless communication up to a 1000-foot indoor range.
    *   The system must interface with specific types of sensors and controllers, including:
        *   Digital programmable thermostats with a sensitivity range between 14°F and 104°F (-10°C and 40°C).
        *   Digital programmable humidistats.
        *   Magnetic alarm contact switches.
        *   Security sound and light alarms.
        *   Digital programmable power switches.
*   **Maintainability and Future-Proofing Constraints:**
    *   All modules and components of this prototype version shall be designed and implemented in a manner that allows them to be incorporated into a fully specified commercial version of the DigitalHome System.
    *   The system design shall employ methods and techniques such as documentation of requirements, design, and code, and the use of abstraction, information hiding, and module independence.

### 3.7 Software system attributes

#### 3.7.1 Reliability
*   The DigitalHome System shall be highly reliable, with no more than 1 failure per 10,000 hours of operation.
*   The DigitalHome System shall incorporate backup and recovery mechanisms.
    *   All system data (configuration, default parameter settings, planning, and usage data) shall be backed up on a daily basis, with the backup time set by the DH Technician at system setup.
    *   If the DH System fails (due to power loss, loss of internet access, or other software or hardware failure), the system recovery mechanism shall restore system data from the most recent backup.
*   All DigitalHome operations shall incorporate exception handling so that the system responds to a user with a clear, descriptive message when an error or an exceptional condition occurs.

#### 3.7.2 Availability
*   The system shall incorporate backup and recovery mechanisms (as described in 3.7.1 Reliability) to ensure data availability and minimize service interruption.
*   [N/A - Specific availability metrics (e.g., uptime percentage) are not explicitly defined.]

#### 3.7.3 Security
*   Upon installation, a DigitalHome user account shall be established.
*   The DigitalHome web system shall provide for authentication and information encryption through a recognized, reliable, and effective security technology, such as Transport Layer Security.
*   Log in to an account shall require the entry of an account name and a password.

#### 3.7.4 Maintainability
*   The development of the DH system shall use methods and techniques to support system maintenance, including:
    *   Documentation of requirements, design, and code.
    *   Use of abstraction, information hiding, and module independence in system design.
    *   Use of IEEE standards (IEEE830, IEEE1008, IEEE1016, IEEE1028) and the HomeOwner Coding Standard (HO4710).
*   All modules and components of this prototype version shall be designed and implemented in such a manner that they may be incorporated into a fully specified commercial version of the DigitalHome System.

#### 3.7.5 Portability
*   [N/A - Specific portability requirements are not explicitly defined.]

## 3.8 Supporting information

The following information provides background and context to aid in understanding the DigitalHome system and its requirements:

*   **Problems to be Solved:** The DigitalHome system aims to enable home residents to easily manage their daily lives by integrating security, environmental and energy management (temperature, humidity, and lighting), entertainment, and communications. Specifically, it allows users to manage devices that control the home environment. Failures in system operation could potentially affect the safety of home dwellers, such as through security breaches, inadequate lighting, inappropriate temperature and humidity levels for health, or unintended powering of appliances when young children are present.
*   **System Overview:** DigitalHome is a "Smart House" home management system. Its core components include various household devices, sensors, controllers for these devices, communication links between components, and a central computer system to manage them.
*   **Prototype Context:** This document specifies requirements for a limited prototype version of DigitalHome. This prototype is intended to support HomeOwner management in making business decisions regarding future commercial development, and as such, this SRS is not a comprehensive or complete specification. The prototype system will operate within a simulated environment, meaning there will be no actual physical home, and all sensors and controllers will be simulated. All modules and components developed for this prototype are intended to be designed for potential incorporation into a fully specified commercial version of the DigitalHome System.
*   **Related Documents:** This Software Requirements Specification is based on the DigitalHome Customer Need Statement. Further detailed information about DigitalHome requirements can be found in the supplementary document, the Digital Home Use Case Model [HO2010].
*   **Operational Environment Details:**
    *   **Internet Service Provider (ISP):** The home system requires a widely available broadband Internet Service Provider (e.g., cable modem, high-speed DSL).
    *   **DH Home Web Server:** The system is capable of establishing an individual home web server hosted on a home computer. This server will facilitate interaction with and control of DH elements, storage of DH plans and data, management of DH User Accounts, and provide backup services for user account information, user plans, and a home database.
    *   **Home DH Gateway Device:** This device provides communication with all DigitalHome devices and connects to a broadband Internet connection. It includes an RF Module for wireless communication (up to a 1000-foot indoor range) between the Gateway and other DigitalHome devices (sensors and controllers).
    *   **Sensors and Controllers:** The system incorporates various environmental controllers and sensors, including:
        *   Digital programmable thermostats for monitoring and regulating temperature (with a sensitivity range between 14°F and 104°F, or -10°C and 40°C).
        *   Digital programmable humidistats for monitoring and regulating humidity.
        *   Magnetic alarm contact switches for monitoring entry through doors or windows.
        *   Security sound and light alarms.
        *   Digital programmable power switches for monitoring and changing the state of small appliances and lighting units.

The information provided in this section is for background and context to aid understanding of the requirements specified elsewhere in this document and is not itself a set of explicit requirements.

## 4.1 Functions
[N/A]

## 4.2 Performance requirements

Verification of performance requirements will involve testing the system in its simulated environment to ensure it meets the specified numerical and timing constraints.

*   **Display Update Rate (5.1.1):** The system's user interface displays of environmental conditions (temperature, humidity, contact sensors, and power switches) will be observed during simulated environmental changes. Test cases will involve rapidly changing simulated sensor values, and the time taken for these changes to reflect on the user interface will be measured to confirm updates occur at least every two seconds.
*   **Sensor Data Acquisition Rate (5.1.2):** The data acquisition rate from simulated sensors (temperature, humidity, contact sensor, power state) will be monitored. Internal system logs or data streams will be instrumented to record timestamps of acquired sensor data. The frequency of data points will be analyzed to confirm a minimum acquisition rate of 10 Hz for each sensor type under various simulated load conditions.
*   **Communication Range (5.1.3):** Given the simulated environment, verification will focus on the simulation's adherence to the specified communication range. Test scenarios will involve configuring simulated environmental sensor and controller devices at varying distances from the simulated master control device. Communication success will be verified for devices within the 1000-foot range, and communication failure will be verified for devices positioned beyond this range, ensuring the simulation accurately models this constraint.

## 4.3 Usability requirements
[N/A]

## 4.5 Logical database requirements
[N/A]

## 4.6 Design constraints
[N/A]

## 4.7 Software system attributes
[N/A]

## 5.1 Assumptions and dependencies
*   The DigitalHome prototype system will operate within a simulated environment, meaning there will be no actual physical home, and all sensors and controllers will be simulated. Any change to this assumption (e.g., requiring deployment in a real physical home) would significantly alter the system's requirements.
*   The home system relies on the availability of a widely available broadband Internet Service Provider (ISP) for external communication.
*   The system assumes compatibility with common centralized HVAC (Heating, Ventilation and Air Conditioning) systems, including those powered by gas, oil, electricity, solar, or a combination thereof.

## 5.2 Acronyms and abbreviations
*   **ASHRAE**: American Society of Heating, Refrigerating and Air-Conditioning Engineers
*   **DH**: Digital Home
*   **DSL**: Digital Subscriber Line
*   **FAQ**: Frequently Asked Question
*   **HVAC**: Heating, Ventilation and Air Conditioning
*   **ISP**: Internet Service Provider
*   **PDA**: Personal Digital Assistant
*   **RF**: Radio Frequency
*   **SRS**: Software Requirements Specification