cse4006: software engineering · 2018-04-08 · prototype srs outline 2. overall description 2.4...

41
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 expressed written permission.

Upload: others

Post on 20-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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.

Page 2: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

Software Requirement Specification

SRS

• SRS란개발할소프트웨어의기능적/비기능적요구사항들을서술해놓은것을의미함

• Stakeholders 와 Software Designers 간의사소통도구로사용

Page 3: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

Software Requirement Specification

왜 SRS를작성해야하는가?

• 고객과공급자간기능에대한기본적인합의를도출.

• 비용과스케쥴을예측하기쉬움

• Validation & Verification에대한베이스를제공

• 제품향상을위한기반을제공

Page 4: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

Prototype SRS Outline

IEEE-Std-830 SRS Outline

Page 5: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

Prototype SRS Outline

1. Introduce1.1 Purpose

1.2 Scope

1.3 Definitions, acronyms, and abbreviations

1.4 References

1.5 Overview

Page 6: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 7: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 8: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 9: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 10: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 11: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 12: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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.

Page 13: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 14: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 15: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 16: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 17: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 18: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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.

Page 19: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 20: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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.

Page 21: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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

Page 22: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

Prototype SRS Outline

4. Supporting information

• Table of contents

• Index

• Appendixes

Page 23: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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 기타인터페이스

Page 24: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

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 기타요구사항

Page 25: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 26: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 27: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 28: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 29: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 30: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 31: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 32: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 33: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 34: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 35: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 36: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 37: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 38: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the
Page 40: CSE4006: Software Engineering · 2018-04-08 · Prototype SRS Outline 2. Overall Description 2.4 Constraints •Provide a general description of any other items that will limit the

SRS 작성 Tip

• 프로젝트진행동안꾸준히갱신되고점진적으로구체화

• 개발자뿐만아니라고객들도읽는문서이기때문에이해하기쉽게작성

• 최대한구체적으로기술

• 내용기술이어려운부분은추후에기술하여도되지만남발은금물