## 1.1 Purpose
The purpose of the DigitalHome (DH) software is to provide a "Smart House" home management system. This system will enable home residents to easily manage their daily lives by integrating 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 the DigitalHome (DH) system, a prototype "Smart House" home management system.

The DigitalHome system will enable home residents to easily manage their daily lives by providing capabilities for security, environmental control (temperature, humidity, and lighting), and energy management for small appliances. Users will interact with the system through a personal web page hosted on a DigitalHome web server, accessible via web-ready devices such as computers, cell phones, or PDAs. The system will communicate wirelessly with in-home sensor and controller devices through a home wireless gateway.

The primary application of this software is to allow home users to monitor and control various aspects of their home environment, specifically temperature, humidity, security, and the on/off state of small appliances and lighting units. The immediate objective of this project is to develop a limited prototype version of the DigitalHome system. This prototype will serve as a proof of concept, allowing HomeOwner Inc. management to make informed business, marketing, and development decisions regarding the future commercialization of DigitalHomeOwner products and services.

This Software Requirements Specification is based on the DigitalHome Customer Need Statement and the Digital Home High Level Requirements Definition [HLRD 2010]. The scope of this prototype is limited to a simulated environment, meaning there will be no physical home, and all sensors and controllers will be simulated. This SRS is not intended to be a comprehensive or complete specification of all potential DigitalHome requirements.

### 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 will provide the following major functions:

*   **Home Environment Management**: The system will enable users to monitor and control various environmental aspects of their home, including temperature, humidity, and the on/off state of small appliances and lighting units. This involves reading current sensor values, setting desired parameters, and scheduling these settings for specific time periods.
*   **Security System Management**: The system will manage a security system by monitoring door and window contact sensors and activating sound and light alarms upon detection of a security breach.
*   **User Access and Control**: Users will be able to interact with the system through a web interface, accessible via web-ready devices such as computers, cell phones, or PDAs, to monitor home conditions and send control commands.
*   **System Configuration and Administration**: The system will support different user roles, allowing a Master User or DH Technician to configure system parameters, manage user accounts, and control the overall operation of the DigitalHome system.
*   **Planning and Reporting**: The system will offer a monthly planner for users to preset home parameters (temperature, humidity, security contacts, and appliance/light status) for defined time periods. It will also generate reports on historical home management data, including environmental conditions and security events, for past periods.

### 1.3.3 User characteristics

The DigitalHome system is intended for use by different groups of users with varying levels of technical expertise and responsibilities:

*   **General Users:**
    *   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).
    *   Not familiar with the technical features of the DigitalHome system.
    *   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).
    *   Able to use the system capabilities to monitor and control the environment in their home.
*   **Master Users:**
    *   A designated user with elevated privileges.
    *   Capable of changing the configuration of the system, such as adding user accounts or changing default parameter settings.
    *   Possesses the same rights and capabilities as a DigitalHome Technician.
*   **DigitalHome Technicians:**
    *   Responsible for setting up and maintaining the configuration of a DigitalHome system.
    *   Experienced with the type of hardware, software, and web services associated with systems like DigitalHome.
    *   Specially trained by DigitalHomeOwner to be familiar with the functionality, architecture, and operation of the DigitalHome system product.
    *   Capable of setting up and making changes in the system configuration (e.g., setting system parameters and establishing user accounts), and starting and stopping operation of the DigitalHome System.

### 1.3.4 Limitations

The DigitalHome system is subject to the following limitations:

*   **Prototype Nature and Scope**:
    *   This initial version is a limited prototype, not a comprehensive or complete commercial product. Its primary purpose is to support internal business decisions.
    *   The project scope is limited to managing devices for temperature, humidity, security, and power to small appliances and lighting units.
    *   The prototype will operate in a simulated environment, without a physical home or actual sensors and controllers.
*   **Development Constraints**:
    *   The prototype must be completed within twelve months of inception.
    *   The development team is limited to five engineers.
    *   Development must adhere to the process specified by Digital HomeOwner Inc.
    *   The cost of DigitalHome elements (sensors, controllers, server, tools, etc.) for this project must be minimized.
    *   Major changes to requirements must be approved by the Director of the DigitalHomeOwner Division.
*   **Hardware and System Capacity Limitations**:
    *   Environmental sensors and controllers must be within 1000 feet of the DH Gateway device for communication. The Gateway device itself operates up to a 1000-foot range for indoor transmission.
    *   Thermostat sensors have a sensitivity range of 14°F to 104°F (-10°C to 40°C). User-set temperatures are limited to a range of 60°F to 80°F.
    *   User-set humidity levels are limited to a range of 30% to 60%.
    *   The system can manage a maximum of eight thermostats, eight humidistats, fifty door and window contact sensors, one sound alarm, one light alarm subsystem (with multiple lights), and one hundred 115 volt, 10 amp power switches.
*   **Operational Environment Dependencies**:
    *   The home system requires an Internet Service Provider (ISP).
    *   The system must be compatible with centralized HVAC systems (gas, oil, electricity, solar, or combinations).
*   **Technology and Standards Adherence**:
    *   The project must employ widely used, accepted, and available hardware and software technology and standards.
    *   The system must adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).
    *   Development must use object-oriented methods with UML 2.0, and adhere to IEEE standards (830, 1008, 1016, 1028) and the HomeOwner Coding Standard.
    *   Security features must utilize recognized technologies like Transport Layer Security for authentication and encryption.
    *   All system documents must use the HomeOwner document format and reside in the HomeOwner Document Archive.
*   **Safety Considerations**: While high system reliability is important to prevent failures that could affect safety, no specific safety requirements are defined for this prototype version.
*   **Quality Requirements**: The system must achieve high reliability, with no more than 1 failure per 10,000 hours of operation.

[N/A] for parallel operation, signal handshake protocols, and physical/mental considerations.

## 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 Questions.
*   **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

## Compliance

*   **[ASHRAE 2010]** Website for American Society of Heating, Refrigerating and Air-Conditioning Engineers. Accessed October 2010. American Society of Heating, Refrigerating and Air-Conditioning Engineers. Source: http://www.ashrae.org/.
*   **[HLRD 2010]** Digital Home High Level Requirements Definition. September 2010. DigitalHomeOwner Division, Homeowner Inc. Source: [N/A]
*   **[HO2305]** Guidelines for Developing HomeOwner Technical Reports. Report Number: HO2305. March 2002. Homeowner Inc. Source: [N/A]
*   **[HO4710]** HomeOwner Coding Standard. Report Number: HO4710. August 2009. Homeowner Inc. Source: [N/A]
*   **[IEEE830]** IEEE Recommended Practice for Software Requirements Specifications. Report Number: IEEE Std 830-1998. 1998. Institute of Electrical and Electronics Engineers, Inc. Source: [N/A]
*   **[IEEE 1008]** IEEE Standard for Software Unit Testing. Report Number: ANSI/IEEE Std 1008-1987. 1987. Institute of Electrical and Electronics Engineers, Inc. Source: [N/A]
*   **[IEEE1016]** IEEE Standard for Information Technology - Systems Design - Software Design Descriptions. Report Number: IEEE Std 1016-2009. 2009. Institute of Electrical and Electronics Engineers, Inc. Source: [N/A]
*   **[IEEE1028]** IEEE Standard for Software Reviews and Audits. Report Number: IEEE Std 1028-2008. 2008. Institute of Electrical and Electronics Engineers, Inc. Source: [N/A]

## Guidance

*   **[HO2010]** Digital Home Use Case Model. October 24, 2010. HomeOwner Inc, DigitalHomeOwner Division. Source: [N/A]

## 3.1 Functions

The DigitalHome system shall provide the following core functions:

*   **General System Control and Monitoring**
    *   The 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.

*   **Temperature Management (Thermostat Functions)**
    *   The DigitalHome programmable thermostat shall allow a user to monitor and control a home’s temperature from any location, using a web-ready computer, cell phone, or PDA.
    *   A DH user shall be able to read the temperature at a thermostat position.
    *   A DH user shall be able to set the thermostat temperatures to between 60°F and 80°F, inclusive, at one-degree increments.
    *   The system shall support individual or collective control of up to eight thermostats.
    *   For each thermostat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
    *   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.
    *   A thermostat unit shall communicate, through wireless signals, with the master control unit.
    *   The system shall support Fahrenheit and Celsius temperature values.
    *   The system shall be compatible with centralized HVAC (Heating, Ventilation and Air Conditioning) systems: gas, oil, electricity, solar, or a combination of two or more.

*   **Humidity Management (Humidistat Functions)**
    *   The DigitalHome programmable humidistat shall allow a user to monitor and control a home’s humidity from any location, using a web-ready computer, cell phone, or PDA.
    *   A DH user shall be able to read the humidity at a humidistat position.
    *   A DH user shall be able to set the humidity level for a humidistat, from 30% to 60%, inclusive, at 1% increments.
    *   For each humidistat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
    *   If a humidistat device allows a user to make a manual humidity 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.
    *   A DigitalHome system shall use wireless signals to communicate, through the master control unit, with the humidistats.

*   **Security System Functions**
    *   A DigitalHome system shall be able to manage up to fifty door and window contact sensors.
    *   A 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.

*   **Appliance Management Functions**
    *   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.
    *   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.
    *   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.

*   **Planning and Reporting Functions**
    *   **DigitalHome Planner:**
        *   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.
        *   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).
        *   A user shall be able to override planned parameter values, through the DH website, or if available, through manual switches on household devices.
    *   **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.
        *   The month report shall provide the day and time for which any security breaches occurred, that is, when the security alarms were activated.
        *   The month report shall provide a section that indicates the periods of time when the DH System was not in operation.

*   **Responses to Abnormal Situations**
    *   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.
    *   Validity checks on the inputs: [N/A]
    *   Exact sequence of operations: [N/A]
    *   Overflow: [N/A]
    *   Communication facilities (error response): [N/A]
    *   Hardware faults and failures (functional response): [N/A]
    *   Formulas for input to output conversion: [N/A]

## 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 a logical database to store and manage various types of information related to home automation, user accounts, and system configuration.

a) Types of information used by various functions:
*   **User Accounts**: Account names, passwords, and associated user roles (General User, Master User, DH Technician).
*   **Device Configuration**:
    *   Location and type of each sensor and controller device (thermostats, humidistats, contact sensors, security alarms, power switches).
    *   Default parameter settings for devices.
*   **Environmental Parameters**:
    *   Current readings from sensors (temperature, humidity, contact sensor state, power switch state).
    *   Set point values for controllers (temperature, humidity, appliance on/off state).
*   **Planning and Schedules**:
    *   Monthly plans specifying environmental parameter settings (temperature, humidity, contact sensors, power switches) for each day, for up to four daily time periods.
    *   Daily schedules for thermostats and humidistats, allowing up to twenty-four one-hour settings per day for every day of the week.
*   **Historical Data for Reporting**:
    *   Daily average, maximum (with time), and minimum (with time) values of temperature and humidity for each thermostat and humidistat.
    *   Day and time of security breaches (when security alarms were activated).
    *   Periods of time when the DH System was not in operation.
*   **System Data**: Configuration data, default parameter settings, planning data, and usage data for backup and recovery.

b) Frequency of use:
*   **Sensor Data Acquisition**: Minimum data acquisition rate of 10 Hz for environmental sensors (temperature, humidity, contact sensor, power state).
*   **Display Updates**: Environmental conditions (temperature, humidity, contact sensors, power switches) displayed to users shall be updated at least every two seconds.
*   **Planning and Control**: User plans and scheduled settings are accessed and applied continuously throughout the day and week.
*   **Reporting**: Historical data is accessed for generating monthly reports for past periods.
*   **Backup**: All system data is backed up on a daily basis.

c) Accessing capabilities:
*   **General Users**: Can monitor current environmental conditions and control home devices via a web interface (personal web page on the DigitalHome web server or local home server). They can read sensor values and set controller values.
*   **Master Users**: Have the same rights as General Users, plus the ability to change system configuration, add user accounts, and change default parameter settings.
*   **DH Technicians**: Responsible for setting up and maintaining system configuration, setting system parameters, establishing user accounts, and starting/stopping system operation.
*   **System Recovery**: The system recovery mechanism accesses backup data to restore system data in case of failure.

d) Data entities and their relationships:
*   **Users**: Associated with user accounts, roles (General, Master, Technician), and authentication credentials.
*   **Homes**: Contains multiple devices and associated plans/data.
*   **Devices**: Includes thermostats, humidistats, contact sensors, security alarms, and power switches. Each device has a type, location, and current state/reading.
*   **Parameters**: Specific settings or readings for devices (e.g., temperature set point, humidity level, on/off state).
*   **Schedules/Plans**: Linked to specific devices or home-wide settings, defining parameter values over time.
*   **Historical Records**: Time-stamped sensor readings, security events, and system operational status.

e) Integrity constraints:
*   **Temperature Settings**: Thermostat temperatures can be set between 60°F and 80°F, inclusive, in one-degree increments.
*   **Humidity Settings**: Humidistat humidity levels can be set from 30% to 60%, inclusive, in 1% increments.
*   **Device Limits**:
    *   Up to eight thermostats per home.
    *   Up to eight humidistats per home.
    *   Up to fifty door and window contact sensors per home.
    *   Up to one hundred 115 volt, 10 amp power switches per home.
*   **Manual Overrides**: Manual settings on devices or via the web interface shall remain in effect until the end of the planned or default time period, at which point the planned or default setting will resume.
*   **Data Consistency**: Backup and recovery mechanisms are in place to restore system data (configuration, default parameter settings, planning, and usage data) from the most recent backup in case of system failure.

f) Security:
*   **User Authentication**: Log in to an account requires entry of an account name and a password.
*   **Information Encryption**: Authentication and information encryption shall be provided through a recognized reliable and effective security technology, such as Transport Layer Security (TLS).
*   **Access Control**: Different user roles (General, Master, Technician) have distinct access rights and capabilities within the system.

g) Data retention requirements:
*   **Historical Data**: The system shall retain historical data (daily average, maximum/minimum temperature and humidity, security breaches, system downtime) for at least two years to support monthly reporting for past periods.
*   **Backup Data**: System data (configuration, default parameter settings, planning, and usage data) is backed up daily, with the most recent backup used for recovery. The specific retention period for older backups is not explicitly defined beyond the "most recent."

## 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

*   **Verification of Information Types:**
    *   **Approach:** Inspection and functional testing.
    *   **Method:** Review the database schema and data dictionaries to confirm that structures exist for storing DH plans, data, user accounts, sensor values (temperature, humidity, contact sensor, power state), configuration, default parameter settings, and usage data. Execute test cases to create, modify, and retrieve instances of each data type, verifying correct persistence and retrieval.

*   **Verification of Accessing Capabilities:**
    *   **Approach:** Functional testing.
    *   **Method:** Develop and execute test cases to verify that users can successfully establish, maintain, and log into DH User Accounts. Test the ability to read and save sensor values. Verify that users can create and modify monthly plans. Generate reports for various past months within the two-year retention period and confirm accurate data retrieval.

*   **Verification of Integrity Constraints:**
    *   **Approach:** Functional testing, boundary value analysis.
    *   **Method:** Test setting temperature values at the minimum (60°F), maximum (80°F), and values outside this range, verifying that the system enforces the specified limits and increments. Perform similar tests for humidity settings (30% to 60%). Verify that the system correctly handles scheduling up to twenty-four one-hour settings per day for thermostats and humidistats, and up to four daily time periods for monthly plans.

*   **Verification of Security:**
    *   **Approach:** Security testing.
    *   **Method:** Test user account creation and login with valid and invalid credentials to verify authentication. Use network monitoring tools to confirm that sensitive information, such as login credentials and user data, is encrypted during transmission using Transport Layer Security or equivalent.

*   **Verification of Data Retention:**
    *   **Approach:** Data lifecycle testing and system monitoring.
    *   **Method:** Execute test scenarios to confirm that historical data for reporting is retained for exactly two years. Verify through system logs and manual checks that daily backups of all system data (configuration, default parameter settings, planning, and usage data) are performed as scheduled. Test the restoration process from a backup to ensure data integrity.

## 4.6 Design constraints
[N/A]

## 4.7 Software system attributes
[N/A]

## 5.1 Assumptions and dependencies
*   The DigitalHome system is a limited prototype version, intended for internal business decisions regarding future commercial development, rather than a comprehensive or complete commercial product.
*   The prototype DH software system will be situated and tested in a simulated environment, with no actual physical home and all sensors and controllers being simulated. This simulated environment is assumed to be realistic and adhere to the physical properties and constraints of an actual home and real sensors and controllers.
*   The 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].
*   The home system assumes the availability of a widely available broadband Internet Service Provider (ISP), such as cable modem or high-speed DSL.
*   The development team will use the development process specified by Digital HomeOwner Inc., including object-oriented development with UML 2.0, and adhere to the HomeOwner document format [HO2305] and HomeOwner Coding Standard [HO4710].

## 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