## 1.1 Purpose

The purpose of this document is to specify the requirements for the development of a "Smart House" system, named DigitalHome (DH), by the DigitalHomeOwner Division of HomeOwner Inc. This system aims to provide home residents with an integrated home management solution that enhances their daily lives by combining security, environmental and energy management, entertainment, and communications. The initial version of DigitalHome will serve as a limited prototype to assist HomeOwner management in making informed 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 home management system. The DH system will allow home users to manage devices that control the environment of a home, including temperature, humidity, security, and power to small appliances and lighting units. Users will interact with the system through a personal web page on the DigitalHome web server or a local home server, which communicates with sensor and controller devices via a home wireless gateway.

The application of the DH system is to provide a comprehensive home management solution that integrates security, environmental and energy management, entertainment, and communications. The primary objective is to create a prototype that will enable HomeOwner Inc. to make informed business decisions regarding the future commercial development of DigitalHomeOwner products and services. The system will be tested in a simulated environment, with all sensors and controllers being simulated, to ensure realistic adherence to the physical properties and constraints of an actual home.

### 1.3.1 Product perspective

The DigitalHome (DH) system is a prototype smart home management system designed to integrate with household devices and provide a comprehensive home management solution. It is part of a larger system that includes household devices, sensors, controllers, communication links, and a computer system to manage these components. The DH system interfaces with these elements to provide functionalities such as security, environmental and energy management, entertainment, and communications.

#### System interfaces
The DH system interfaces with various household devices through a home wireless gateway device. This gateway facilitates communication between the DH web server and the sensor and controller devices within the home. The system is designed to manage devices that control temperature, humidity, security, and power to small appliances and lighting units.

#### User interfaces
Users interact with the DH system through a personal web page hosted on the DigitalHome web server or a local home server. The interface allows users to monitor and control the home environment, perform web operations such as logging in and out, and submit information and requests.

#### Hardware interfaces
The DH system requires a home wireless gateway device equipped with an RF module for wireless communication with other DigitalHome devices. The gateway connects to a broadband Internet connection and supports a 1000-foot range for indoor transmission.

#### Software interfaces
The DH system operates on a web server that interacts with the home devices and systems. It requires an Internet Service Provider (ISP) for connectivity, supporting widely available services such as cable modem or high-speed DSL.

#### Communications interfaces
The DH system uses wireless communication protocols to send and receive data between the gateway device and the home devices, ensuring seamless interaction and control.

#### Memory constraints
[N/A]

#### Operations
The DH system supports both user-initiated operations through the web interface and automated operations based on preset parameters. It includes backup and recovery mechanisms to ensure data integrity and system reliability.

#### Site adaptation requirements
The DH system is designed to operate in a simulated environment for the prototype phase, with no actual physical home. All sensors and controllers are simulated, adhering to the physical properties and constraints of a real home.

#### Interfaces with services
[N/A]

### 1.3.2 Product functions

The DigitalHome system provides several key functions to manage and control the home environment:

- **Environmental Control**: Users can monitor and control the home's temperature and humidity using programmable thermostats and humidistats. These devices can be managed remotely via a web-ready computer, cell phone, or PDA.

- **Security Management**: The system includes a security feature that manages door and window contact sensors and activates alarms in case of a security breach.

- **Appliance Management**: Users can manage small appliances and lighting units, turning them on or off as desired through the Appliance Manager.

- **Planning and Reporting**: The system offers a planning feature that allows users to set home parameters for specific time periods and provides monthly reports on home management and control.

These functions are designed to be accessible through a web interface, allowing users to interact with the system from any location.

### 1.3.3 User characteristics

The intended users of the DigitalHome system include general users and DigitalHome Technicians. 

- **General Users**: 
  - Familiar with the layout of their home and the location of sensor and control devices.
  - Not familiar with the technical features of the DH system but can perform simple web operations such as logging in, logging out, browsing web pages, and submitting information and requests via a web interface.
  - A Master User, a subset of general users, will have additional capabilities to change system configurations, such as adding user accounts or changing default parameter settings.

- **DigitalHome Technicians**:
  - Responsible for setting up and maintaining the configuration of the DH system.
  - Experienced with hardware, software, and web services associated with systems like the DH system.
  - Specially trained by DigitalHomeOwner to be familiar with the functionality, architecture, and operation of the DH system product.
  - Have rights beyond the general user, capable of setting up and making changes in the configuration of the system, and starting and stopping operation of the DH System. 

These user characteristics influence the usability of the system, as the interface and functionalities must accommodate both non-technical general users and technically proficient technicians.

### 1.3.4 Limitations

- 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 provided by the DigitalHomeOwner Director.
- The development process specified by Digital HomeOwner Inc. must be used.
- Widely used, accepted, and available hardware and software technology and standards should be employed where possible.
- The cost of DigitalHome elements should be minimized due to potential market competition.
- The DH system will be tested in a simulated environment, with no actual physical home, and all sensors and controllers will be simulated.
- Major changes to the requirements must be approved by the Director of the DigitalHomeOwner Division.
- The system requires an Internet Service Provider (ISP) that is widely available, such as cable modem or high-speed DSL.
- The DH Gateway device must operate within a 1000-foot range for indoor transmission.
- The system must adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).
- The DigitalHome System must be highly reliable, with no more than 1 failure per 10,000 hours of operation.
- The system must incorporate backup and recovery mechanisms.
- High system reliability is crucial to ensure there are no failures in carrying out user requests, which might affect the safety of home dwellers.
- The DigitalHome web system must provide for authentication and information encryption through recognized security technology, such as Transport Layer Security.
- The development of the DH system must use methods and techniques to support system maintenance, including documentation, abstraction, information hiding, and module independence.
- All modules and components of the prototype version must be designed and implemented to be incorporated into a fully specified commercial version of the DigitalHome System.
- Object-oriented development using UML 2.0 is the preferred method for software development, with exceptions requiring approval from the CIO.
- The system must provide users with online documentation, including FAQs and explanations of parameter settings and sensor readings.

## 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, typically involving 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 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 (plaintext) using an algorithm (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 homeowners 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

- [IEEE830] IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications, Institute of Electrical and Electronics Engineers, Inc., 1998.
- [IEEE 1008] ANSI/IEEE Std 1008-1987, IEEE Standard for Software Unit Testing, Institute of Electrical and Electronics Engineers, Inc., 1987.
- [IEEE 1012] IEEE Std 1012-2004, IEEE Standard for Software Verification and Validation, Institute of Electrical and Electronics Engineers, Inc., 2004.
- [IEEE1016] IEEE Std 1016-2009, IEEE Standard for Information Technology - Systems Design - Software Design Descriptions, Institute of Electrical and Electronics Engineers, Inc., 2009.
- [IEEE1028] IEEE Std 1028-2008, IEEE Standard for Software Reviews and Audits, Institute of Electrical and Electronics Engineers, Inc., 2008.

## Guidance

- [ASHRAE 2010] Website for American Society of Heating, Refrigerating and Air-Conditioning Engineers, accessed October 2010, http://www.ashrae.org/.
- [HLRD 2010] DigitalHomeOwner Division, Digital Home High Level Requirements Definition, Homeowner Inc., September 2010.
- [HO2305] Sykes, J., and Rook, R., Guidelines for Developing HomeOwner Technical Reports, HO2305, Homeowner Inc., March 2002.
- [HO4710] Kramer, S., HomeOwner Coding Standard, HO4710, Homeowner Inc., August 2009.
- [HO2010] Digital Home Use Case Model, HomeOwner Inc, DigitalHomeOwner Division, October 24, 2010.
- [Meyer 2004] Meyer, G., Smart Home Hacks: Tips & Tools for Automating Your House, O’Reilly, 2004.

## 3.1 Functions

The DigitalHome System is designed to manage and control various home environment parameters through a web-ready interface. The fundamental actions include:

- **Input Validity Checks**: The system ensures that user inputs, such as temperature and humidity settings, fall within specified ranges (e.g., thermostat temperatures between 60°F and 80°F, humidity levels between 30% and 60%).

- **Sequence of Operations**: Users can monitor and control home devices via a web server, which communicates with a home gateway device. This gateway manages wireless communication with sensors and controllers, allowing for real-time updates and control.

- **Responses to Abnormal Situations**:
  - **Overflow**: [N/A]
  - **Communication Facilities**: The system uses wireless communication to ensure seamless interaction between the web server and home devices.
  - **Hardware Faults and Failures**: The system includes backup and recovery mechanisms to restore data from the most recent backup in case of failures.
  - **Error Handling and Recovery**: The system incorporates exception handling to provide clear, descriptive messages to users when errors occur.

- **Effect of Parameters**: User-defined parameters, such as set points for temperature and humidity, directly influence the operation of thermostats and humidistats, adjusting the home environment accordingly.

- **Relationship of Outputs to Inputs**:
  - **Input/Output Sequences**: Users input desired environmental settings through a web interface, which are then communicated to the respective controllers to adjust the home environment.
  - **Formulas for Input to Output Conversion**: [N/A]

The system's functionality is divided into sub-functions, including temperature control, humidity control, security management, and appliance management, each with specific requirements and operations.

## 3.2 Performance requirements

The performance requirements for the DigitalHome System are as follows:

- Displays of environmental conditions, such as temperature, humidity, contact sensors, and power switches, shall be updated at least every two seconds.
- Sensors, including temperature, humidity, contact sensors, and power state, shall have a minimum data acquisition rate of 10 Hz.
- An environmental sensor or controller device must be within 1000 feet of the master control device to maintain communication with the system.
- The DigitalHome System must be highly reliable, with no more than one failure per 10,000 hours of operation.
- The system shall incorporate backup and recovery mechanisms to ensure data integrity and continuity of operations.

## 3.3 Usability requirements

[N/A]

## 3.5 Logical database requirements

[N/A]

## 3.6 Design 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 provided by the DigitalHomeOwner Director.
- The development process specified by Digital HomeOwner Inc. must be used.
- Widely used, accepted, and available hardware and software technology and standards should be employed for product elements and development tools.
- The cost of DigitalHome elements (sensors, controllers, server, tools, etc.) should be minimized due to potential market competition.
- The DH system will be tested in a simulated environment, adhering to the physical properties and constraints of an actual home and real sensors and controllers.
- Major changes to the requirements must be approved by the Director of the DigitalHomeOwner Division.
- The system shall adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).
- The development of the DH system shall use methods and techniques such as documentation of requirements, design, and code; use of abstraction, information hiding, and module independence in system design; and adherence to IEEE standards and the HomeOwner Coding Standard.
- All modules and components of the prototype version shall be designed and implemented to be incorporated into a fully specified commercial version of the DigitalHome System.
- HomeOwner has designated object-oriented development, using UML 2.0, as the preferred method for software development, with exceptions requiring approval by the CIO.

## 3.7 Software system attributes

### a) Reliability
The DigitalHome System must be highly reliable with no more than 1 failure per 10,000 hours of operation. The system shall incorporate backup and recovery mechanisms to ensure data integrity and continuity of operations.

### b) Availability
The system will include backup and recovery mechanisms. The DH System will back up all system data (configuration, default parameter settings, planning, and usage data) on a daily basis, with the backup time set by the DH Technician at system setup. If the system fails due to power loss, loss of internet access, or other software or hardware failure, the recovery mechanism shall restore system data from the most recent backup.

### c) 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 entry of an account name and a password.

### d) 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; and adherence to IEEE standards and the HomeOwner Coding Standard.

### e) Portability
[N/A]

## 3.8 Supporting information

[N/A]

## 4.1 Functions

[N/A]

## 4.2 Performance requirements

The verification of performance requirements for the DigitalHome System will focus on ensuring that the system meets the specified static and dynamic numerical requirements. The following approaches and methods will be used:

- **Display Update Verification**: Ensure that displays of environmental conditions (temperature, humidity, contact sensors, and power switches) are updated at least every two seconds. This will be verified through system testing under various conditions to confirm consistent update intervals.

- **Sensor Data Acquisition Rate Verification**: Verify that sensors (temperature, humidity, contact sensors, power state) maintain a minimum data acquisition rate of 10 Hz. This will be tested by simulating sensor inputs and measuring the data acquisition rate to ensure compliance.

- **Communication Range Verification**: Confirm that environmental sensor or controller devices are within 1000 feet of the master control device to maintain communication with the system. This will be tested by placing devices at various distances and verifying communication integrity.

These verification methods will ensure that the DigitalHome System meets its performance requirements as specified in the requirements section.

## 4.3 Usability requirements

[N/A]

## 4.5 Logical database requirements

[N/A]

## 4.6 Design constraints

The verification of design constraints for the DigitalHome system will involve ensuring compliance with the specified constraints on system design. These constraints are imposed by external standards, regulatory requirements, and project limitations. The following approaches and methods will be used for verification:

- **Prototype Completion Timeline**: Verification will ensure that the prototype version of the DigitalHome System is completed within the specified twelve-month timeframe from inception.

- **Team Composition**: Verification will confirm that the development team consists of five engineers, with management and communication support provided by the DigitalHomeOwner Director.

- **Development Process**: Verification will ensure adherence to the development process specified by DigitalHomeOwner Inc.

- **Technology and Standards**: Verification will check the use of widely accepted and available hardware and software technology and standards for product elements and development tools.

- **Cost Minimization**: Verification will include a review of efforts to minimize costs, including price comparisons between DigitalHome elements and comparable/competitive elements.

- **Simulated Environment Testing**: Verification will confirm that the DH system is tested in a simulated environment that realistically adheres to the physical properties and constraints of an actual home and real sensors and controllers.

- **Approval for Major Changes**: Verification will ensure that any major changes to the document, such as changes in requirements, are approved by the Director of the DigitalHomeOwner Division. 

These verification methods will ensure that the design constraints are met and that the system is developed in compliance with the specified requirements.

## 4.7 Software system attributes

[N/A]

## 5.1 Assumptions and dependencies
[N/A]

## 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 Questions
- **HVAC**: Heating, Ventilation and Air Conditioning
- **ISP**: Internet Service Provider
- **PDA**: Personal Digital Assistant
- **RF**: Radio Frequency
- **SRS**: Software Requirements Specification
- **TLS**: Transport Layer Security