cse4006: software engineering · 2018-04-08 · prototype srs outline 2. overall description 2.4...
TRANSCRIPT
Lab 4:Software Requirement Specification
Software Engineering Lab
CSE4006: Software Engineering
Except where otherwise noted, the contents of this document are Copyright 2018 Gayeon Kim, Gwanggyu Choi,Youn-geun Ahn, Hakjin Lee and Scott Uk-Jin Lee All rights reserved. Any redistribution, reproduction,transmission, or storage of part or all of the contents in any form is prohibited without author’s expressedwritten permission.
Software Requirement Specification
SRS
• SRS란개발할소프트웨어의기능적/비기능적요구사항들을서술해놓은것을의미함
• Stakeholders 와 Software Designers 간의사소통도구로사용
Software Requirement Specification
왜 SRS를작성해야하는가?
• 고객과공급자간기능에대한기본적인합의를도출.
• 비용과스케쥴을예측하기쉬움
• Validation & Verification에대한베이스를제공
• 제품향상을위한기반을제공
Prototype SRS Outline
IEEE-Std-830 SRS Outline
Prototype SRS Outline
1. Introduce1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
Prototype SRS Outline
1. Introduce1.1 Purpose
- Delineate the purpose of the SRS
- Specify the intended audience for the SRS
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
Prototype SRS Outline
1. Introduce1.1 Purpose
1.2 Scope• Identify the product to be produced by name
• Explain what the product will, and, if necessary, will not do
• Describe the application of the software being specified including relevant benefits, objectives, and goals.
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
Prototype SRS Outline
1. Introduce1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations• Provide the definitions of all terms, acronyms, and abbreviations
required to properly interpret the SRS.
1.4 References
1.5 Overview
Prototype SRS Outline
1. Introduce1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References• Provide a complete list of all documents referenced in SRS
• Identify each document by title, report number (if applicable), date, and publishing organization
• Specify the sources from which the references can be obtained
1.5 Overview
Prototype SRS Outline
1. Introduce1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
• Describe what the rest of the SRS contains
• Explain how the SRS is organized
Prototype SRS Outline
2. Overall Description2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
2.6 Apportioning of requirements
Prototype SRS Outline
2. Overall Description2.1 Product perspective
• Put the product into perspective with other related products.
• Describe how the software operates inside various constraints.
• These constraints could inside:
• System interfaces
• User interfaces
• Hardware interfaces
• Software interfaces
• Communications interfaces
• Memory
• Operations
• Site adaption requirements
• A block diagram showing the major components of the larger system, interconnections, and external interfaces can be helpful.
Prototype SRS Outline
2. Overall Description2.1 Product perspective
2.2 Product functions• Summary of the major functions that the software will perform.
• The functions should be organized so that makes the functions understandable to the customer or to anyone else reading the document for the first time.
• Textual or graphical methods can be used to show the different functions and their relationships.
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
2.6 Apportioning of requirements
Prototype SRS Outline
2. Overall Description2.1 Product perspective
2.2 Product functions
2.3 User characteristics• Describe general characteristics of the intended users of the
product including educational level, experience, and technical expertise.
2.4 Constraints
2.5 Assumptions and dependencies
2.6 Apportioning of requirements
Prototype SRS Outline
2. Overall Description2.4 Constraints
• Provide a general description of any other items that will limit the developer’s options.
• These may include
• Regulatory policies
• Hardware limitations(e,g,, signal timing requirements)
• Interfaces to other applications
• Parallel operation
• Audit functions
• Control functions
• Higher-order language requirements
• Signal handshake protocols (e.g., XON-XOFF, ACK-NACK)
• Reliability requirements
• Criticality of the application
• Safety and security considerations
Prototype SRS Outline
2. Overall Description2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies• List each of the factors that affect the requirements stated in the
SRS.
2.6 Apportioning of requirements
Prototype SRS Outline
2. Overall Description2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
2.6 Apportioning of requirements• Identify requirements that may be delayed until future versions
of the system
Prototype SRS Outline
3. Specific requirements
• Specific requirements should satisfy:1. A level of detail sufficient to enable designers to design a
system to satisfy those requirements.
2. And testers to test that the system satisfies those requirements.
• Requirements should be externally perceivable by users, operators, or other external systems.
• Requirements should include at a minimum description of every input/output of the system.
Prototype SRS Outline
3. Specific requirements
• Following principles should be applied1. Specific requirements should be stated in conformance
with all the following characteristics:• Correct
• Unambiguous
• Complete
• Consistent
• Ranked for importance and/or stability
• Verifiable
• Modifiable
• Traceable
Prototype SRS Outline
3. Specific requirements
• Following principles should be applied2. Specific requirements should be cross-referenced to
earlier documents that relate.
3. All requirements should be uniquely identifiable.
4. Careful attention should be given to organizing the requirements to maximize readability.
Prototype SRS Outline
3. Specific requirements
• Specific Requirements comprise following items1. External interfaces
2. Functions
3. Performance requirements
4. Logical database requirements
5. Design constraints
6. Software system attributes
7. Organizing the specific requirements
Prototype SRS Outline
4. Supporting information
• Table of contents
• Index
• Appendixes
Example SRS Outline• 1. 개요
• 1.1 프로젝트목표• 1.2 프로젝트범위• 1.3 문서규칙• 1.4 정의및약어• 1.5 관련문서• 1.6 대상및읽는방법• 1.7 프로젝트산출물
• 2. 전체설명• 2.1 시스템구성• 2.2 주요기능• 2.3 사용자특징• 2.4 제약조건• 2.5 하위호환성• 2.8 기타설명
• 3. 환경• 3.1 설치환경
• 3.1.1 하드웨어환경
• 3.1.2 소프트웨어환경
• 3.2 제품설치및설정• 3.3 배포환경• 3.4 형상관리• 3.5 버그트래킹• 3.6 기타환경
• 4. 외부인터페이스• 4.1 사용자인터페이스• 4.2 하드웨어인터페이스• 4.3 소프트웨어인터페이스• 4.4 통신인터페이스• 4.5 기타인터페이스
Example SRS Outline
• 5. 성능요구사항• 5.1 처리량
• 5.2 다중세션
• 5.3 응답시간
• 5.4 성능종속관계
• 5.5 기타성능요구사항
• 7. 주요기능• ‘2.3’ 주요기능상세설명
• 6. 기능외다른요구사항• 6.1 안정성요구사항
• 6.2 보안요구사항
• 6.3 소프트웨어품질특성
• 6.4 다국어지원
• 6.5 유니코드지원
• 6.6 64bit지원
• 6.7 제품인증
• 6.8 필드테스트
• 6.9 기타요구사항
SRS 추가자료
• IEEE-Recommended Practice for SRS
• Translation for above document
SRS 작성 Tip
• 프로젝트진행동안꾸준히갱신되고점진적으로구체화
• 개발자뿐만아니라고객들도읽는문서이기때문에이해하기쉽게작성
• 최대한구체적으로기술
• 내용기술이어려운부분은추후에기술하여도되지만남발은금물
SRS Examples
• SRS for AakashTechSupport
• SRS for Virtual Medical Home
• SRS Tutorial(Partial example for each sections)