# 1 Introduction

## 1.1 Purpose
This Software Requirements Specification (SRS) defines the requirements for the prototype DigitalHome (DH) “Smart House” system to be developed by the DigitalHomeOwner Division of HomeOwner Inc. The SRS captures principal features to support business decisions regarding future commercial development and is not a comprehensive or complete specification.

## 1.2 Scope
- Product name: DigitalHome (DH) prototype smart home system.
- What the software will do:
  - Enable home users to monitor and control environmental factors (temperature, humidity, lighting), security, and power to small appliances via a personal web interface.
  - Communicate with simulated sensors and controllers through a DH home web server and a home wireless gateway device.
  - Support planning and reporting for environmental management.
- Application, benefits, objectives:
  - Provide a lifestyle solution integrating security, environmental and energy management, entertainment, and communications.
  - Demonstrate feasibility and inform business decisions for potential commercial offerings.
- Consistency with higher-level specifications:
  - Based on the Digital Home High Level Requirements Definition [HLRD 2010] and the Digital Home Use Case Model [HO2010].

## 1.3 Product overview

### 1.3.1 Product perspective
The DH software operates as the control and monitoring component of a smart home system. For this prototype, all devices and the home environment are simulated.

- System interfaces
  - DH home web server as the communication center between users and home devices/systems.
  - DH Gateway Device as the master control device communicating via wireless signals with sensors and controllers and connecting to broadband Internet.
  - [N/A] for additional external systems.

- User interfaces
  - Personal web page hosted on the DH web server (either on a DH web server or a local home server) for login, browsing, submitting information and requests.
  - [N/A] for style guide or detailed UI standards.

- Hardware interfaces
  - Supported devices (simulated in the prototype):
    - Thermostats (temperature sensor/controllers) with ranges and set-point capabilities.
    - Humidistats (humidity sensor/controllers) with set-point capabilities.
    - Magnetic contact switches (door/window).
    - Security light and sound alarms.
    - Programmable power switches for small appliances and lighting units.
  - DH Gateway Device with RF module for wireless communications up to 1000 feet indoors.
  - Broadband ISP connection for Internet access.

- Software interfaces
  - Security: authentication and encryption via recognized technology such as Transport Layer Security.
  - [N/A] for operating systems, versions, or other application interfaces.

- Communications interfaces
  - Wireless RF between DH Gateway and devices (up to 1000 feet).
  - Broadband Internet (cable modem, high-speed DSL) via ISP (e.g., Bright House or Bellsouth FastAccess).

- Memory constraints
  - [N/A]

- Operations
  - Modes: user-initiated web operations to monitor and control devices; DH Technician or Master User can configure parameters and accounts, and start/stop the system.
  - Data processing support: daily backup of system data (configuration, defaults, planning, usage).
  - Recovery: restoration from the most recent backup after failures (e.g., power loss, loss of Internet access, hardware/software failure).

- Site adaptation requirements
  - Establishment and maintenance of DH user accounts.
  - Configuration of system parameters (by DH Technician or Master User).
  - [N/A] for other site-specific initialization sequences.

- Interfaces with services
  - Internet Service Provider (ISP) dependency for connectivity.
  - [N/A] for cloud or SaaS integrations.

### 1.3.2 Product functions
- Environmental monitoring and control:
  - Temperature: read/set thermostat values; schedule per hour/day/week; support Fahrenheit and Celsius; compatible with centralized HVAC (gas, oil, electricity, solar, or combinations) per ASHRAE standards.
  - Humidity: read/set humidistat values; schedule per hour/day/week.
- Security:
  - Manage up to fifty door/window contact sensors.
  - Activate coordinated light and sound alarms upon security breach.
- Appliance and lighting management:
  - Manage up to one hundred 115V, 10A power switches.
  - Read and change ON/OFF state of connected devices.
- Planning and reporting:
  - Monthly planner with up to four daily time periods per day specifying environmental parameters and device states.
  - Override planned values via website or manual device switches where available.
  - Monthly reports (within past two years) including temperature/humidity statistics, security breach times, and system downtime periods.
- System operation and data:
  - Wireless acquisition of sensor values and storage in a home database.
  - Transmission of controller values to effect environmental changes.
  - Daily backups and recovery mechanisms.
- User and administrative functions:
  - Authentication (account name and password).
  - Account and configuration management by DH Technician or Master User.

### 1.3.3 User characteristics
- General user:
  - Able to monitor and control home environment via web interface (login/logout, browsing, submit requests).
  - Familiar with home layout and device locations.
  - Not required to have technical knowledge of DH system internals.
- Master user:
  - Same rights as DH Technician to change configuration (add accounts, change default parameters).
- DH Technician:
  - Trained by DigitalHomeOwner; experienced with relevant hardware, software, and web services.
  - Responsible for setup, configuration, maintenance, and start/stop of the DH system.

### 1.3.4 Limitations
- Regulatory and standards:
  - HVAC compatibility and adherence to ASHRAE standards, policies, and procedures.
- Hardware and communications:
  - Wireless indoor transmission up to 1000 feet.
  - ISP dependency and broadband connectivity requirement.
- Capacity constraints:
  - Up to eight thermostats and eight humidistats.
  - Up to fifty contact sensors.
  - One sound alarm and one light alarm subsystem (multiple lights).
  - Up to one hundred power switches (115V, 10A).
- Safety and security considerations:
  - Reliability is important to avoid safety impacts (e.g., security breaches, inadequate lighting, inappropriate environmental conditions).
  - Authentication and encryption requirements.
- Project and environment limitations:
  - Prototype implemented and tested entirely in a simulated environment (no physical home; simulated sensors/controllers).
  - Cost minimization for DH elements due to market competition.
- [N/A] for additional limitations (e.g., audit functions, specific handshake protocols).

## 1.4 Definitions
- Authentication: verification that a user is who they claim to be, typically via username and password.
- Encryption: transforming information using a cipher to make it unreadable without a key.
- Security Breach: an act that bypasses or contravenes the DH security system (e.g., opening a protected door/window).
- Set Point: numeric value establishing desired environmental condition (e.g., temperature).
- Transport Layer Security: cryptographic protocols providing security for network communications.

# 2 References
- Compliance
  - [ASHRAE 2010] Website for American Society of Heating, Refrigerating and Air-Conditioning Engineers, accessed October 2010, http://www.ashrae.org/.
  - [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.
  - [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.
- Guidance
  - [HLRD 2010] DigitalHomeOwner Division, Digital Home High Level Requirements Definition, Homeowner Inc., September 2010.
  - [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 Requirements

## 3.1 Functions
- System communication and data handling
  - Use DH home web server as the communication center to monitor/control home devices and systems.
  - Use DH Gateway Device to connect to broadband Internet and communicate wirelessly with DH sensors and controllers.
  - Read sensor values via wireless communication and store them in the home database.
  - Send controller values to effect environmental changes.
  - [N/A] validity checks on inputs.
  - [N/A] exact sequence of operations.
  - Responses to abnormal situations:
    - Backup daily and restore from the most recent backup after failures (power loss, Internet loss, other software/hardware failures).
    - Provide clear, descriptive error/exception messages to users when errors or exceptional conditions occur.
  - [N/A] formulas or I/O conversion specifics.

- Temperature control (thermostats)
  - Allow remote monitoring and control via web-ready computer, cell phone, or PDA.
  - Read current temperature at each thermostat position.
  - Set thermostat temperatures between 60°F and 80°F inclusive, at 1°F increments.
  - Support up to eight thermostats placed in enclosed spaces; control individually or collectively.
  - Schedule up to 24 one-hour settings per day for every day of the week per thermostat.
  - Manual override remains in effect until the end of the current planned/default time period.
  - Communicate with thermostats via wireless signals through the gateway.
  - Support Fahrenheit and Celsius values.
  - Be compatible with centralized HVAC systems (gas, oil, electricity, solar, or combinations) and adhere to ASHRAE standards.

- Humidity control (humidistats)
  - Allow remote monitoring and control via web-ready devices.
  - Read current humidity at each humidistat position.
  - Set humidity between 30% and 60% inclusive, at 1% increments.
  - Support up to eight humidistats placed in enclosed spaces.
  - Schedule up to 24 one-hour settings per day for every day of the week per humidistat.
  - Manual override remains in effect until the end of the current planned/default time period.
  - Communicate with humidistats via wireless signals through the gateway.

- Security system
  - Manage up to fifty contact sensors (doors/windows).
  - Activate one sound alarm and one light alarm subsystem (with multiple lights).
  - Activate alarm system when a security breach occurs and a contact sensor is set OPEN.

- Appliance and lighting management
  - Manage up to one hundred 115V, 10A power switches.
  - Provide state information (OFF/ON) for each switch/appliance.
  - Change state (OFF to ON or ON to OFF) for connected appliances/lights.
  - Manual change remains in effect until the end of the current planned/default time period.

- Planning and reporting
  - Provide a monthly planner:
    - For a given month and year, allow creation/modification of a plan specifying up to four time periods per day with parameter settings (temperature, humidity, contact sensors, power switches).
    - Allow overrides via the website or manual device controls (where available).
  - Provide monthly reports for any month/year within the past two years:
    - Daily average, maximum (with time), and minimum (with time) temperature and humidity per thermostat/humidistat.
    - Day and time of any security breaches (alarm activations).
    - Periods when the DH System was not in operation.

- User accounts and administration
  - Establish a DH user account upon installation.
  - Require login with account name and password.
  - Allow DH Technician and Master User to configure system parameters, establish user accounts, start/stop the system.

## 3.2 Performance requirements
- Update frequency: displays of environmental conditions (temperature, humidity, contact sensors, power switches) updated at least every 2 seconds.
- Data acquisition: sensor data (temperature, humidity, contact sensors, power state) acquired at a minimum rate of 10 Hz.
- Communications range: environmental sensor or controller devices must be within 1000 feet of the master control (gateway) to communicate.
- Capacity (also see 3.1):
  - Up to eight thermostats and eight humidistats.
  - Up to fifty contact sensors.
  - One sound alarm and one light alarm subsystem (multiple lights).
  - Up to one hundred power switches (115V, 10A).

## 3.3 Usability requirements
- [N/A]

## 3.5 Logical database requirements
- Types of information
  - Configuration data, default parameter settings.
  - Planning data (monthly plans with daily time periods and parameter settings).
  - Usage and operational data (sensor readings, controller states).
  - Security events (breach times).
  - System operation status (downtime periods).
  - User account information.
- Frequency of use
  - Sensor data acquisition at 10 Hz; display updates at least every 2 seconds; daily backups.
- Accessing capabilities
  - Access via DH website for monitoring, control, planning, reporting, and overrides.
- Data entities and relationships
  - [N/A]
- Integrity constraints
  - Temperature set-points constrained to 60–80°F (1°F increments).
  - Humidity set-points constrained to 30–60% (1% increments).
  - Capacity limits as listed in 3.2.
- Security
  - Authentication (account name and password) and encryption via recognized technology (e.g., TLS).
- Data retention
  - Reporting supports months within the past two years.
  - Daily backups of all system data; recovery from most recent backup.

## 3.6 Design constraints
- Project constraints
  - Prototype completed within twelve months of inception.
  - Development team of five engineers; DigitalHomeOwner Director provides management/communication support.
  - Use the development process specified by HomeOwner Inc.
  - Employ widely used, accepted, and available hardware/software technology and standards where possible.
  - Minimize costs of DH elements; provide price comparisons in final report.
  - Major requirement changes must be approved by the Director of the DigitalHomeOwner Division.
- Operational environment
  - System tested in a realistic simulated environment adhering to physical properties and constraints of an actual home and real devices.
  - Requires an ISP; broadband connectivity (cable modem or high-speed DSL).
  - Option to host an individual home web server on a home computer with interaction/control, data storage, user account management, and backup services.
- Standards and policies
  - HVAC compatibility and adherence to ASHRAE standards.
  - Security via recognized encryption/authentication technology (e.g., TLS).
  - Documentation and coding standards: HomeOwner document format [HO2305] and coding standard [HO4710].
  - Preferred method: object-oriented development using UML 2.0 (exceptions require CIO approval).
  - Use of IEEE standards [IEEE830, IEEE1008, IEEE1016, IEEE1028].

## 3.7 Software system attributes
- Reliability
  - No more than 1 failure per 10,000 hours of operation.
  - Daily backups and recovery from most recent backup.
  - Exception handling with clear, descriptive user messages.
- Availability
  - Recovery mechanisms to restore system data after failures (power, Internet, hardware/software).
  - [N/A] for explicit availability targets.
- Security
  - User authentication (account name and password).
  - Information encryption via recognized technology (e.g., TLS).
- Maintainability
  - Documentation of requirements, design, and code.
  - Use of abstraction, information hiding, and module independence.
  - Use of specified IEEE and HomeOwner standards.
  - Prototype modules designed/implemented to be incorporable into a fully specified commercial version.
- Portability
  - [N/A]

## 3.8 Supporting information
- Project team and roles
  - Team Leader: Disha Chandra.
  - System Analyst and Requirements Manager: Michel Jackson.
  - System Architect and Design Manager: Yao Wang.
  - Planning Manager: Georgia Magee.
  - Quality Manager: Massood Zewail.
  - Construction Engineer: all team members.
- Project schedule (milestones)
  - Need Assessment – 9/15/2010.
  - Project Launch – 9/16/2010.
  - Project Plan – 9/27/2010.
  - Requirements – 10/27/2010.
  - Architecture – 11/15/2010.
  - Cycle 1–6 Construction – 12/15/2010 to 5/16/2011.
  - System Testing – 6/20/2011.
  - Acceptance Testing – 7/14/2011.
  - Postmortem Analysis – 8/1/2011.
- Supplementary documentation
  - Digital Home Use Case Model [HO2010].
- [N/A] for sample I/O formats, cost analyses, user surveys, or packaging instructions.

# 4 Verification

## 4.1 Functions
- Verification approach
  - System testing and acceptance testing per project schedule.
  - Testing in a realistic simulated environment adhering to physical properties and constraints of an actual home and real devices.
  - [N/A] for detailed test cases, input validity checks, sequences, and specific error recovery test procedures.

## 4.2 Performance requirements
- Verification approach
  - Measure display update intervals to verify ≤ 2 seconds.
  - Measure sensor acquisition rate to verify ≥ 10 Hz.
  - Validate wireless communication range up to 1000 feet in simulated environment.
  - [N/A] for peak workload performance testing details.

## 4.3 Usability requirements
- [N/A]

## 4.5 Logical database requirements
- Verification approach
  - Confirm daily backup execution and successful restoration from most recent backup.
  - Verify reporting availability for months within the past two years.
  - Validate enforcement of set-point constraints and capacity limits.
  - [N/A] for schema validation and integrity constraint test cases beyond those stated.

## 4.6 Design constraints
- Verification approach
  - Audit adherence to ASHRAE and specified IEEE/HomeOwner standards.
  - Confirm use of broadband ISP and simulated environment constraints.
  - Review documentation for compliance with HO2305 and coding standards HO4710.
  - [N/A] for detailed compliance matrices.

## 4.7 Software system attributes
- Reliability
  - [N/A] for quantitative reliability demonstration method.
- Availability
  - Test backup and recovery procedures under defined failure conditions.
- Security
  - Verify authentication (account/password) and encryption (e.g., TLS) are enforced.
- Maintainability
  - Review artifacts for prescribed documentation and design practices.
- Portability
  - [N/A]

# 5 Appendices

## 5.1 Assumptions and dependencies
- The prototype will operate entirely within a simulated environment; no physical home or actual devices are used.
- All sensors and controllers are simulated but adhere to realistic physical properties and constraints.
- Availability of an ISP and broadband connectivity (cable modem or high-speed DSL).
- Use of widely available hardware/software technology and standards where possible.
- Cost minimization for DH elements may influence component selection.
- Development process, documentation, and coding standards as mandated by HomeOwner Inc.
- Major requirements changes require approval by the Director of the DigitalHomeOwner Division.

## 5.2 Acronyms and abbreviations
- ASHRAE: American Society of Heating, Refrigerating and Air-Conditioning Engineers.
- DH: Digital Home (prototype smart home product).
- DigitalHomeOwner: Division of HomeOwner Inc. producing DigitalHome products.
- 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.