19
Software Requirement November 30, 2008 2 November 30, 2008 3 (user requirements) (user requirements) (system requirements) (system requirements) Interface Interface INDUSTRY TRENDS Defect Origination: 56% Requirements Phase 27% Design 7% Coding Source 2002 Quality Assurance Institute

Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Software Requirement

November 30, 2008 2

��������������������

�� ����������������������������� ����������������������������� ���������� ���!����������� ���!� �"��"� ��#$���� �%���#$���� �%������&��&&�����&��&&

�� �����'�&�(�)������������ �����'�&�(�)������������ ����#$��"������#$��"�� �"��"� ����#$�������#$���

�� �����'�&�(�*���#$���� �%������&+�,��������-�. �����'�&�(�*���#$���� �%������&+�,��������-�. �������������#���������������#�� ������&�����������/���(*�/� ������&�����������/���(*�/�

November 30, 2008 3

���0��#$���&��(�(��&#�$-���0��#$���&��(�(��&#�$-

�� ����������������#$��"������������������#$��"�� �"��"� ����#$�������#$���

�� ����������0� ���!���&&����������0� ���!���&& (user requirements)(user requirements)

�� ��#$���� �%������&��&&��#$���� �%������&��&& (system requirements)(system requirements)

�� ��(�� �$(�0���(�� �$(�0� InterfaceInterface

�� ������&��������������+�,������ ������&��������������+�,������

INDUSTRY TRENDS

� Defect Origination:

� 56% Requirements Phase

� 27% Design

� 7% Coding�Source 2002 Quality Assurance

Institute

Page 2: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

The Activities of the Analysis Phase Activities of the Analysis Phase

and Their Key Questions

November 30, 2008 7

Requirements engineeringRequirements engineering

�� �%����&�����#$��������� �%����&�����#$��������� ���&�����#$�"�������������/����&������&�����#$�"�������������/����&�����&&+)��(�*1�(���0����������&&+)��(�*1�(���0�������� #�-��&&#$�#��������"�#$��!������&#�-��&&#$�#��������"�#$��!������&��2������$0)-���2������$0)-�

�� ������&�������������-�����("� �$(�0�&����������&& ������&�������������-�����("� �$(�0�&����������&& �"�0���������"�0�������� +)� ���0)-�������&���������������������+)� ���0)-�������&���������������������

What are requirements?

� Definition: capabilities and objectives

to which the software or system you

are building must conform.� Source: Terry Quatrani

� A requirement is defined as "a

condition or capability to which a

system must conform“� Source: IBM Rational Unified Process

Page 3: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 9

What is a requirement?What is a requirement?

�� �����������$��("� �$(��*����/������������$��("� �$(��*����/� ������-��* �%� ����3&�&(*� ������-��* �%� ����3&�&(*� /�/����)"��("� �$(�������&���#���������4���)"��("� �$(�������&���#���������4

�� ��#$��"$� "$�(/�*/���������������#������#$���(*���#$��"$� "$�(/�*/���������������#������#$���(*��� �!� �%�5������������ �6������"�!� �%�5������������ �6������" –– ����-���� �%���� �6� (�*� ���$��������-���� �%���� �6� (�*� ���$����

�77��77�

�� �!� �%�5��������)���#���77��!� �%�5��������)���#���77� –– ����-��)��� �%������������("� �$(�����-��)��� �%������������("� �$(�

�� ��4�&���#�-���� �$(��*���4�&���#�-���� �$(��*� ������������������

November 30, 2008 10

Requirements abstraction Requirements abstraction

(Davis)(Davis)�� ��&������������(*�(*�8�(/�* 3"(�����&�"� "��#��(/��"*�������&������������(*�(*�8�(/�* 3"(�����&�"� "��#��(/��"*�����

�� ������� 0$(�0)-��� ��������$ �� 0�������"�"�(��( ������� 0$(�0)-��� ��������$ �� 0�������"�"�(��(

�� �����$ ��!�������"�"����� 0$(��������������0���&&8�(�$ �����$ ��!�������"�"����� 0$(��������������0���&&8�(�$��("� �$(����0)-� �������"����� 0�����"������(��(��/���*���/����("� �$(����0)-� �������"����� 0�����"������(��(��/���*���/����&��&+�,������#$������� ���� �"*���-� �$(��*�+�,������#$������� ���� �"*���-� �$(��*�

RequirementRequirement--documentsdocuments

Requirements:Things The Development Team Needs to Know

� Business requirements� Defined by BAs� The “What”:

� Detailed descriptions of the business data, business processes, business rules and interactions needed to accomplish the business mission.

� Functional requirements� Defined by BAs� The “How”:

� Functional requirements describe how software should work and what the software will “look like” to the end user. For business requirements that will not be automated, functional requirements document the manual procedures and employee guidelines.

� Technical requirements� Defined by IT� Detailed descriptions of how the software will be built and

where the data will be stored.

Categories of Requirements

Source : International Institute ofBusiness Analysis

Page 4: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Requirement Types by Quality Attributes

Grady, 1992

Components of FURPS+

FFunctionality Feature set capabilities, security,

generality

UU sability Human factors aesthetics, consistency,

documentation

RR eliabilityFrequency/severity of failure,

recoverability, predictability, accuracy,

MTBF

PPerformance Speed efficiency, resource usage,

throughput, response time

SSupportability

Testability Extensibility

Adaptability Maintainability

Compatibility Configurability

Serviceability Installability

Localizability Robustness

November 30, 2008 14

Types of requirementTypes of requirement

�� ����������0� ���!�����������0� ���!� User requirementsUser requirements

�� ��� ����#$��!�1�9������*����& ����1��0�&�����#$���&&���$����"��� ����#$��!�1�9������*����& ����1��0�&�����#$���&&���$����"��0���������������� ������0���������������� ������.. 0$(�0)-��� ����"����� 0$(�0)-��� ����"�����

�� ����� �%������&��&&����� �%������&��&& System requirementsSystem requirements

�� �%� ����#$��$8�����&*&����("� �$(����#����0���&& �%� ����#$��$8�����&*&����("� �$(����#����0���&&,, &�����&�����,, 0��������0������� ������0��������0������� ������.. 8�(��&��*���/����#����� �<�����77�8�(��&��*���/����#����� �<�����77�����*�"������"���*�77�����*�"������"���*�77�

Not Every Project Needs Every Requirement Type

Do I really have to

review a 60-page

requirements document

just to get one field

added to a screen?!!

Subject Matter Expert

November 30, 2008 16

Definitions and specificationsDefinitions and specifications

Page 5: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 17

Requirements readersRequirements readers System Requirements

� New system capabilities and constraints

� Functional requirements are:

� Activities system must perform

� Based on procedures and business functions

� Documented in analysis models

� Nonfunctional requirements include:

� Operating environment or performance

objectives

� Usability, reliability, and security requirements

November 30, 2008 19

Functional and nonFunctional and non--functional requirementsfunctional requirements

�� Functional requirementsFunctional requirements�� ������������� �������������� ��������������� �������������� ��,, ��������������������������������

������������,, � ��������������������� ������� ��������������������� ������

�� NonNon--functional requirementsfunctional requirements�� !�"#��$%!�������&����#����!������ ��'��#���%(&���!�"#��$%!�������&����#����!������ ��'��#���%(&���

(�)�(�)�,, ��������������,, ���*�����*�� +)++)+

�� Domain requirementsDomain requirements�� ���������,-����"��!��(!�!��������,-��� .)������������,-����"��!��(!�!��������,-��� .)���

)$�/��!��!��(!�)$�/��!��!��(!�

November 30, 2008 20

Functional requirementsFunctional requirements

�� &*&�����#������#$��������&�����0���&&&*&�����#������#$��������&�����0���&&

�� 0)-��(�*��&!���0�+�,������0)-��(�*��&!���0�+�,������,, ���������0� ���!����������0� ���!� �"�!���0���&&�"�!���0���&&+)�+�,���������!�+)�+�,���������!�

�� ����#$��"��������#$��"���� User requirements User requirements ���(�*�����&#��������&�#$�&���*����(�*�����&#��������&�#$�&���*��(�������&&#����/�&���(�������&&#����/�&�� ��*����#$��"��0���*����#$��"��0� System requirements System requirements ����&*&������("� �$(�&*&������("� �$(�

Page 6: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Functional Requirements- Examples

� The system must have ability to

� check for valid customer order

� search for available inventory

� report actual and budgeted expenses

� issue purchase order automatically

� purchase order must be authorized by the head

of department

November 30, 2008 22

����(*�����(*� Functional Requirement : Functional Requirement :

(The LIBSYS system)(The LIBSYS system)

�� ��&&������+)��$��&&������+)��$ interface interface �$(��*�/����"�(.5��0����"#$� �$(��*�/����"�(.5��0����"#$���&���&#�����*�./����&���&#�����*�./��

�� ���!����������� ���!�����������,, �����8�"������8�"� �"��"� �������&#���� �"*��$- �����������&#���� �"*��$- �������I)�9����(�� �/�����I)�9����(�� �/��

November 30, 2008 23

Example of functional requirementsExample of functional requirements

�� ���!�����������0����" ���!�����������0����" ���5��0����"#�-������5��0����"#�-��� �������� ���!��(*�(0����!��(*�(0�5��0����"5��0����"

�� ��&&����$��&&����$ ““������”” #$� �����#$� ����� ��� ���!�/���*�� ����#$������/����� ���!�/���*�� ����#$������/��

�� �&��+�-�#�-�������$���( "0�����&/�*+-������&��+�-�#�-�������$���( "0�����&/�*+-����� +)� ���!���������"��+)� ���!���������"�� �<&/����&�7!$#$� �<&���� �<&/����&�7!$#$� �<&����

November 30, 2008 24

����������#$�/�*!�� ������������#$�/�*!�� ��

�� �J7�� ���0)-� ��������������/�*��&����!�� ���J7�� ���0)-� ��������������/�*��&����!�� ��

�� �����"�� ���������"�� ���� �������$����/���"�#��������$����/���"�#�

�� "������4�"������4� ““appropriate viewersappropriate viewers””

-- ���!��$���� ���!��$���� == !*������ I9�����&��*"�!���0� ����!*������ I9�����&��*"�!���0� ����-- developer developer �$�����$���� == !*����������9�#$��� ��-���0�!*����������9�#$��� ��-���0� ���� ����

Page 7: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 25

�����&��4������&��4� �"��"� �������� ���������� ��

�� ����"���������"����� requirements requirements ������&��4�������&��4� �"��"� ���� ������ ��

�� �&��4��&��4� –– �������)��("� �$(�0������4�#$����!��������)��("� �$(�0������4�#$����!�

�� ���� ������ �� –– /�*���0���(�/�*���0���(� �������� ��#������&��#������& ��("� �$(�0���("� �$(�0������4�#$����!������4�#$����!�

�� ��#��M�&��� �%�/�/�*/��#$���#����#��M�&��� �%�/�/�*/��#$���#�� requirementsrequirements ����&��4�����&��4��"����� ���"����� ��

Nonfunctional Requirements- Examples

� The system must have ability to

� access the system using any Web browser

� integrate with the existing inventory system

� be available for use 24 hours per day, 365 days

per year

� allow customers see their order history during

business hours

� distinguish between United States and European

currency.

November 30, 2008 27

����#$�������#$��� (non(non--functional requirements)functional requirements)

�� ����#$�������#$��� �����������������4�&��������������������4�&��� �"��"� 0��������0���&&0��������0���&& �"*������"*����� /������/��/������/��,, ��(� �"�#$���&����(� �"�#$���&��,, ��-�#$� �<&0����" ��-�#$� �<&0����",, 0�����������0����������� �����4������4� input/outputinput/output ������������������,, �����(�������(�� N"NN"N

�� ���������������&��������������������&����� ����������&��*���� �%������&����������&��*���� �%������& CASECASE &���&&#$���&� ����8�( 3���&���&&#$���&� ����8�( 3���,, programming programming

language, development method.language, development method.

�� ����#$�������#$��� &�#$�� �%�0�����O������*�����#$��"��&�#$�� �%�0�����O������*�����#$��"�� �����&&/�*�����&&/�*�������&������#$����������&������#$��� ��&&�<���!�/�*/����&&�<���!�/�*/��

November 30, 2008 28

������"����&!�-�0�����#$���������"����&!�-�0�����#$���

�� Product requirementsProduct requirements (( "��1�4Q� "��1�4Q�)) :: !*� !*� �������������������������&&#����/�� �<������&&#����/�� �<�,, /������/��/������/�� N"NN"N

�� ����������0����������������0������ :: !*� !*� 0��������+)� �%��8(&�(0������0��������+)� �%��8(&�(0������ �"��"� �%���'$��� �%���'$��� !*� !*� ���&�����#����#$�/������5�����&�����#����#$�/������5��,, ������������0�����������!�������M�&���0�����������!�������M�&���

�� External: External: ���������������1�(������������������1�(��� !*����#�����*����& !*����#�����*����&��&&����/����&&����/��,, ���#��/�����#$��T���(���������#��/�����#$��T���(������,, etc.etc.

Page 8: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 29

NonNon--functional requirement typesfunctional requirement types

November 30, 2008 30

����(*�0�����(*�0� ����������������#$�������������������#$���

�� Product requirements :Product requirements : the user interface the user interface 0�0� LIBSYSLIBSYS ���#�����&&���#�����&& HTMLHTML �&&*�(8�(/�*�$���&�&&*�(8�(/�*�$���& �������� Java appletsJava applets

�� ����������0����������������0������ :: ���&�������2����&&���&�������2����&& �"��"� ����* ����*��&��� �%�/������ &$(&+)���&�/������&��� �%�/������ &$(&+)���&�/���� XYZCoXYZCo--SPSP--

STANSTAN-- 9595

�� External requirement :External requirement : ��&&���/�* �6� (0����"��&&���/�* �6� (0����"*�����"��������/�*�����"��������/� !���!��� �"��"� "0����� "0����� �*� �������#$����"��&&�*� �������#$����"��&&

November 30, 2008 31

�U����( �U����( �"��"� ��������������������

�� ��������������#$�������� 0$(����!�� ��/��(����������������#$�������� 0$(����!�� ��/��(�� �"��"� ��������������#$�/�*!�� ���<�������&/��(��������#$�/�*!�� ���<�������&/��(��

�� Goal : Goal : 8�(#���/�8�(#���/� ������-��0� ���!�������-��0� ���!� �<����<��� �!�*�(�!�*�(

�� Verifiable nonVerifiable non--functional requirement functional requirement ������ 0������#$��!������� "0������#$��!������� " �&&����������&/���&&����������&/��

�� GoalGoal �%����8(!���*� �%����8(!���*� developerdeveloper �����*�/���*�(#������ �����*�/���*�(#������������0� ���!�������0� ���!�

November 30, 2008 32

����(*�����(*�

�� A system goal :A system goal : ��&&����!���/��*�(8�( ����&���#$��$��&&����!���/��*�(8�( ����&���#$��$���&���4����&���4� �"�����������"��94�#$��� ������� ���"�����(�"�����������"��94�#$��� ������� ���"�����(#$���#$���

�� A verifiable nonA verifiable non--functional requirementfunctional requirement �� ����&���#$��$���&���4����������!���&���#$��$���&���4����������!� function function 0���&&/��0���&&/��#�-���#�-��� �"����/����&���VW�����"����/����&���VW���� 22 !�!�.. �"��������VW��&���"���"��������VW��&���"��0�� ���"��#$� ������ ���!�#$��$���&���4�0�� ���"��#$� ������ ���!�#$��$���&���4� /�*��� ���/�*��� ��� 22 ���-8�( 3"$�(���-8�( 3"$�(�*�����*����

Page 9: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 33

������ "���������������� "����������

���� �<����� �<� -- ��������(���#$�#��/���*�����#$��������(���#$�#��/���*�����#$-- ��(� �"���&���*� ���!���(� �"���&���*� ���!�-- �������� �"$�(��������������� �"$�(�������

0���0��� -- M ByteM Byte-- ������0�������0� ROM chipsROM chips

���������������� -- !���8�VW����!���8�VW����,, �������������������� helphelp

Reliability Reliability -- �*�����"�� �"� 3"$�(�*�����"�� �"� 3"$�(-- ���������-#$���&&�(��#�������������-#$���&&�(��#����

RobustnessRobustness -- �"�#$��� �������*�"����"�� �"� �"�#$��� �������*�"����"�� �"�PortabilityPortability -- ���/��!�/���$���&&���/��!�/���$���&&

November 30, 2008 34

Requirements interactionRequirements interaction

�� 0��0���(�����*�0��0���(�����*� ����������������#$�������������������#$��� �%�0�'�����#$��� �%�0�'�����#$��� ���0)-�/�� ���0)-�/�� ����&&#$�"�&+�&+�������&&#$�"�&+�&+���

�� ��&&(������I��&&(������I-- ����"��-������ ����"��-������,, ��� �%����"���������� �%����"�������!��!������&&����&&-- ����"�����!��"��� ����"�����!��"��� ����!�����!�!��!��#$����/,���(#$����/,���(-- �(*�/��<�������!��(*�/��<�������!�!��!��#$����/,���(�<����!�#$����/,���(�<����!�!��!�����������0)-����������0)-� +)�+)� �%����O����4�#�-��(*� �%����O����4�#�-��(*�

November 30, 2008 35

����������8� ������������8� ��

�� /�������8� ����&&��/�������8� ����&&�� &����("� �$(�&����("� �$(� ��4"��94�0���&&��4"��94�0���&& +)�+)�* "�#����)8� ��* "�#����)8� ��

�� ����������8� �� �%�,J��!������*����������8� �� �%�,J��!������*,, �%�0��������0����������� �%�0��������0����������� ��� ��� �������� �'�&�(��������" " 3����'�&�(��������" " 3���

�� �������*�����������8� ��(�/�* �%�#$������������*�����������8� ��(�/�* �%�#$����� ��&&�<������!�/�*/����&&�<������!�/�*/��

November 30, 2008 36

�J7��0�����������8� ���J7��0�����������8� ��

�� ����� 0����/������� 0����/��-- ��������������'�&�(���(1�9�0�8� ����&&����������������'�&�(���(1�9�0�8� ����&&��-- &*�(���-��I�����2����&&&*�(���-��I�����2����&& /�* 0����/�* 0����

�� ������ !��������� !��� �� !$�(�!�78� �� �� !$�(�!�78� �� 0������&&�(*��$����0���#$���#������������ 0������&&�(*��$����0���#$���#������������8� �����!�� �������8� �����!�� �������

Page 10: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Knowledge Areas

Requirements Planning & Management

Requirements

Gathering

Requirements

Implementation

Requirements

Analysis &

Documentation

Requirements

Communications

Enterprise

Analysis

Fundamentals

Identifies currently accepted best practices

Fundamentals� Ensuring an effective Business Analysis resource

� Defines the general competencies, skills,

techniques or knowledge needed to effectively perform business analysis but is not unique to

business analysis � Value

� Articulates non-specific professional skills that are necessary in order for a Business Analysis professional to be successful in performing his/her role

� Communications

� Leadership

� Problem Solving

� Business Knowledge

� IT Technical Knowledge

Knowledge Areas

Requirements Planning & Management

Requirements

Gathering

Requirements

Implementation

Requirements

Analysis &

Documentation

Requirements

Communications

Enterprise

Analysis

Fundamentals

Identifies currently accepted best practices

Enterprise Analysis

� Understanding the Big Picture

� Captures the view of the business to

provide context

� Supports initiatives & long-term planning

� Includes process, workflow & entity

relationship diagramming, cost / benefit

analysis, feasibility studies

� Value

� Provides a context / foundation on which to

evaluate all future issues & challenges

Page 11: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Knowledge Areas

Requirements Planning & Management

Requirements

Gathering

Requirements

Implementation

Requirements

Analysis &

Documentation

Requirements

Communications

Enterprise

Analysis

Fundamentals

Identifies currently accepted best practices

Requirements Planning & Management

� Defining the Plan� Specifies requirements activities to be performed

� Identifies the deliverables to be produced� Describes how changes will be controlled &

managed� Value

� Ensures a common understanding across the

requirements team� Specifies tools, resources & contributors &

ensures availability� Allows for monitoring & addressing of

requirements challenges

� Coordinates with other project work� Ensures changes are captured correctly and

consistently

Requirements Planning & Management

1. Understand team roles

2. Identify and describe stakeholders

3. Define BA work division strategy

4. Define requirements risk approach

5. Determine planning considerations

6. Select requirements activities

� Who to include, how to gather & document, what modeling & analysis techniques, identify other project roles, select tools

7. Estimate requirements activities

� Identify milestones, define work pieces, estimate time required, capture & review assumptions, identify requirements & project risks, determine how to manage change

Requirements Planning & Management

� Manage requirements scope

� Define how requirements changes will be handled

� Measure & report on requirements activity

� Manage requirements change

� Identify issues & changes

� Document changes

� Identify links to other requirements

� Analyze change requests

� Track changes

Page 12: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Requirements Gathering� Executing the plan

� Identifies the tasks, knowledge & techniques for capturing the requirements

� Value

� Defines the broad classifications of requirements (e.g., functional, usability, non-functional, constraints)

� Describes the various techniques used to gather requirements, for example:

� Discovery Session / Observation

� Interview

� Survey

� Prototyping

� Usage Scenarios

Requirements Gathering Goals.

� Manage the gathering process

� Manage requirements conflicts

� Identify approaches or techniques for gathering requirements

� Discovery / Observation session

� Interview

� Survey

� Prototyping

� Review existing systems & business documents

� Note taking / feedback to stakeholders

� Using Personas & usage scenarios

� Reverse engineering

� Test for completeness of the requirements

� Get consensus or sign-off

Methodologies & Technologies

� Joint Application Design (JAD) � Workshop approach� A high degree of user involvement� is based on communication through documentation, fixed

requirements and rules of work enforced through methods.� TEAMROOMS

� COLLABORATION OVER THE ELECTRONICWORKSPACE

� Requirements negotiation place� Brainstorming Room, used to record all "quick ideas"

generated throughout the meeting.� Scenarios Room, used to build scenarios of future

situations.� Wish List Room, used to store the initial list of

requirements.� Future Consideration Room, used to record the

intermediary results of the process.� Etc.

Requirements Analysis & Documentation

� Analyzing the data� Defines the methods, tools & techniques used to

structure the raw data collected during

requirements gathering� Identifies gaps in the information

� Defines the capabilities of the solution � Value

� Transforms the business need into clearly described capabilities

� Provides the foundation for selecting the best

alternative among the solution options

Page 13: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Requirements Analysis & Documentation Goals

� Categorize requirements

� Organize the requirements

� Categorize the requirements

� Identify & resolve inconsistencies & gaps

� Analyze requirements

� Decompose problems

� Select Modeling technique (e.g., usage model,

process/flow model, data & behaviour model)

� Organize models

� Determine requirements attributes

� Document requirements

� Structure requirements for traceability

� Verify requirements

Techniques for Documenting Requirements

Business

Requirements

Functional

Requirements

Broad,

high-level

Very

detailed

Business Use

Case Description

Data requirements (entities, attributes, relationships)

Essential Process Description

Glossary

Workflow diagram

Workflow diagram

Workflow diagram

Workflow diagram

Decomposition

diagram

Context-level

DFDUse Case diagram

System Use Case Description

Screen or report prototype

Database

design

Business Use

Case DescriptionScreen Storyboard prototype

Process Maps

Requirements Communications

� Communicating the outcome� Presents & communicates requirements to all

stakeholders & implementers of the project� Brings the group to consensus & gets

approval

� Value

� Presents the requirements in a format & structure that is appropriate for its in intended audience

� Brings the various stakeholders to a common understanding

� Formalizes agreement

Requirements Implementation

� Delivering the best solution� Ensures the solution meets the stakeholder

objectives while supporting the needs of the

developers� Guides detailed specifications & development of

the solution, testing & implementation� Value

� Articulates how the Business Analysis professional should work with the other project team members (e.g., developers, clients) to produce the solution design

� Identifies the approach to evaluating alternative solutions once requirements have been formally signed off

Page 14: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 53

User requirementsUser requirements

�� ����'�&�(�)����#$��"������'�&�(�)����#$��"�� –– ����#$�������#$��� ���!�� �����!�� �� ��� ���!���&& 0������� ���!���&& 0����/��8�(/�*�����I�(�������#� #����/��8�(/�*�����I�(�������#� #����

�� ����������0� ���!���� �%�1�9�'���������������0� ���!���� �%�1�9�'�����,, �������� �"��"� � � �� � � ��������� ���!� 0����/��8�(*�(��� ���!� 0����/��8�(*�(

November 30, 2008 54

�J7�� �$�(���&1�9�#���/��J7�� �$�(���&1�9�#���/�

�� 0������!�� ��0������!�� ��::�� �����������("� �$(��(*�")�+)-�����������("� �$(��(*�")�+)- #����� �����*���"�� 0����(��#����� �����*���"�� 0����(��

�� �����&������&�::�� ����#$��"������#$��"�� –– ����#$�������#$��� ������&�������&� ����������

�� ������ ������::�� �����������"�(.�(*�#$��*���������������"�(.�(*�#$��*���� ������$�����&�/�� ������������$�����&�/�� ������

November 30, 2008 55

������������ 0$(������������� 0$(� requirementsrequirements

�� ������&&����5�����!���&#��.������&&����5�����!���&#��. requirementsrequirements

�� �!�1�9�������"������"���!�1�9�������"������"��,, �!��!� shallshall �����&����������#$������&����������#$���� �%���� �%�,, �!��!� should should �����&����������#$�������$�����&����������#$�������$

�� �!����9��!����9� HiHi--lightlight ���� ������ �<���������7 ���� ������ �<���������7

�� �"$� "$�(1�9� 3���#������� �����"$� "$�(1�9� 3���#������� ����

November 30, 2008 56

����� �%������&��&&����� �%������&��&&

�� ��&���("� �$(���&���("� �$(� 0�0� ����#$���&&����#$���&&,, &������"�0�������������*�&������"�0�������������*� �������������� ���!������� ���!�

�� �$/�� ���� �%�5�����������&&��&&�$/�� ���� �%�5�����������&&��&&

�� &����-����&/����&�77�&����-����&/����&�77�

�� ������������&&������������8�(�!�������������&&������������8�(�!� modelsmodels

Page 15: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

Requirements Models for the Traditional and OO Approaches

November 30, 2008 58

�������������������� �"��"� �������&&�������&&

�� ���"������"�����"������"�� �����������������&��*���&&���#����/�/��&�������������������&��*���&&���#����/�/��&�� �"��"� �������&&��&���*�#���(*�/��������&&��&���*�#���(*�/�

�� ��#��M�&�����#��M�&��� �������������������� �"��"� �������&&���(����/�*����������&&���(����/�*���-- ���J�(������&&���J�(������&& ����� �%��������&&���8�����0������ �%��������&&���8�����0���������������������-- ��&&#$����#�����*�������&��&&������&&#$����#�����*�������&��&&���� �*���� ������������������*���� ������������������������&&�������&&

�� ����!��������&&!��� ��������!��������&&!��� ���� ����� �%�����������8� ������� �%�����������8� ��

November 30, 2008 59

�J7��0������&��������������(1�9�'���!����J7��0������&��������������(1�9�'���!���

�� ������������ :: ���*�� ���*�� �"��"� �� 0$(����������� �� 0$(����������� ����$����������9���#�����$����������9���#� �$(���� �$(����.. NL NL �$����������8�('���!����$����������8�('���!��� #����� 0����(��#����� 0����(��

�� �$�����"*�������/��$�����"*�������/� :: 0�!��� �$(������������ 0$(������/��0�!��� �$(������������ 0$(������/���"�(#��"�(#�

�� 0����� � ��0����� � �� :: 8�����0�8�����0� NLNL /�* �$(��/�* �$(�� #$����!�#������#$����!�#��������������&&��������&&

November 30, 2008 60

Alternatives to NL specification Alternatives to NL specification ((#� "�������������#� "������������� NLNL))

Notation Description

Structured natural

language

This approach depends on defining standard forms or templates to express the

requirements specification.

Design

description

languages

This approach uses a language like a programming language but with more abstract

features to specify the requirements by defining an operational model of the system.

This approach is not now widely used although it can be useful for interface

specifications.

Graphical

notations

A graphical language, supplemented by text annotations is used to define the

functional requirements for the system. An early example of such a graphical

language was SADT. Now, use-case descriptions and sequence diagrams are

commonly used .

Mathematical

specifications

These are notations based on mathematical concepts such as finite-state machines or

sets. These unambiguous specifications reduce the arguments between customer and

contractor about system functionality. However, most customers don’t understand

formal specifications and are reluctant to accept it as a system contract.

Page 16: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 61

1�9�8�����1�9�8�����

�� #� "���0� �� 0$(��������������������8�(#� "���0� �� 0$(��������������������8�( templatestemplates 0�0���������������������

�� ��� 0$(��������������$����5����� 0$(��������������$����5��

�� ���I��#�#$��!���&���("� �$(����I��#�#$��!���&���("� �$(� ������$������������$������

�� 0��/�� ��$(&���0��/�� ��$(&��� ����������")�+)-����������")�+)- 0�0� 1�9�'���!���/��/��1�9�'���!���/��/�� ��*��*����&�������� ������&�������� �� (uniformity)(uniformity) �����8��/��(�*��&�����8��/��(�*��& specification.specification.

November 30, 2008 62

�%� �%� 8�(�!�,����8�(�!�,����

�� �������������0�,J!����������������0�,J!��� �������� �<�#��$- �<�#��$-

�� ����'�&�(����'�&�( �����#�����# �"��"� ��"*#$�����"*#$���

�� ����'�&�(����'�&�( �����# �����# �"��"� #$�/�#$�/�

�� ��&�����������0���&�����������0� �<�#��$- �<�#��$- ����.����.

�� ����/0 ����/0 �*���*�� �������� �"��"�

�� "0�� �$(0�,J!��� "0�� �$(0�,J!���

November 30, 2008 63

FormForm--based node specificationbased node specification

Insulin Pump/Control Software/SRS/3.3.2

Function Compute insulin dose: Safe sugar level

Description Computes the dose of insulin to be delivered when the current measured sugar level is in

the safe zone between 3 and 7 units.

Inputs Current sugar reading (r2), the previous two readings (r0 and r1)

Source Current sugar reading from sensor. Other readings from memory.

OutputsCompDose Ð the dose in insulin to be delivered

Destination Main control loop

Action: CompDose is zero if the sugar level is stable or falling or if the level is increasing but the rate of

increase is decreasing. If the level is increasing and the rate of increase is increasing, then CompDose is

computed by dividing the difference between the current sugar level and the previous level by 4 and

rounding the result. If the result, is rounded to zero then CompDose is set to the minimum dose that can

be delivered.

Requires Two previous readings so that the rate of change of sugar level can be computed.

Pre-condition The insulin reservoir contains at least the maximum allowed single dose of insulin..

Post-condition r0 is replaced by r1 then r1 is replaced by r2

Side-effects None

November 30, 2008 64

Tabular specificationTabular specification

�� �!� ���1�9�'���!����!� ���1�9�'���!���

�� �$���8(!����� ������������#� "���#$������ ���0)-�/������������$���8(!����� ������������#� "���#$������ ���0)-�/�����������

Page 17: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 65

����(*�����(*�Tabular specificationTabular specification

Condition Action

Sugar level falling (r2 < r1) CompDose = 0

Sugar level stable (r2 = r1) CompDose = 0

Sugar level increasing and rate of

increase decreasing ((r2-r1)<(r1-r0))

CompDose = 0

Sugar level increasing and rate of

increase stable or increasing. ((r2-r1) �

(r1-r0))

CompDose = round ((r2-r1)/4)

If rounded result = 0 then

CompDose = MinimumDose

November 30, 2008 66

GraphicalGraphical 8� �"8� �"

�� �$���8(!����� ������������ �"$�(���"�����$���8(!����� ������������ �"$�(���"���� �������� "����&0�"����&0���������������

�� ���,���,,6��&&,6��&&�*��*� .. (System models)(System models)

November 30, 2008 67

� � � �$("����&� � � �$("����&

�� ��"����&0� ������4���"����&0� ������4� #$� ���0)-� ���� ���!���&8����&��&&#$� ���0)-� ���� ���!���&8����&��&&

�� ���*����-��*&�""*���#��&"����&0��������#$� ���0)-� ���*����-��*&�""*���#��&"����&0��������#$� ���0)-�

�� ������ �������������� �������� ATMATM

-- �������*� �%�&���#$��������������*� �%�&���#$������� ���!*&����"�����!*&����"��-- ������ ������������0������� ������������0�-- �6��6� transaction transaction

November 30, 2008 68

� � �"����&��0�� � �"����&��0� ������ ����������� ����� ATMATM

Page 18: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 69

Interface specificationInterface specification

�� ��&&*��������#�����*����&��&&������&&*��������#�����*����&��&&���� ����-��������*�����*��������-��������*�����*���� �������&�/�� �%�*��0������������������&�/�� �%�*��0�����������

�� ������ �� �� , , 33 !���!��� #$�����$����'�&�(#$�����$����'�&�( ������ 1.1.������'$�*����#���(*�/�������'$�*����#���(*�/�2.2.8�����0����"#$��"� �"$�(����8�����0����"#$��"� �"$�(����3.3.������*�0����"������*�0����"

�� ����� ��������(����� ��������( 8�(�!��&&,����8�(�!��&&,���� �%� #����#$��$����#'�1�� �%� #����#$��$����#'�1�� �����&�����("� �$(������&�����("� �$(� ������ �� �� , ,

November 30, 2008 70

PDL interface descriptionPDL interface description

interface PrintServer {

// defines an abstract printer server

// requires: interface Printer, interface PrintDoc

// provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter

void initialize ( Printer p ) ;

void print ( Printer p, PrintDoc d ) ;

void displayPrintQueue ( Printer p ) ;

void cancelPrintJob (Printer p, PrintDoc d) ;

void switchPrinter (Printer p1, Printer p2, PrintDoc d) ;

} //PrintServer

November 30, 2008 71

���������������� ����������������

�� �%� ���������������� �%� ���������������� �*��*� ����2����&& ����2����&& �(*� �%�#�����(*� �%�#����

�� ����$�����������������$������������� 0�����������0����������� 0� ���!�0� ���!� �"��"� ��("� �$(��*���("� �$(��*���&&����$��/���&&����$��/�

�� /�*�!* �����������&&/�*�!* �����������&& ��* �%���� �����* �%���� ��� �*��*� ““#����/�#����/�”” �����*������*� ““#���(*�/�#���(*�/�””

November 30, 2008 72

Users of a requirements documentUsers of a requirements document

Page 19: Software Requirement - PSRU Learning Management Systemelearning.psru.ac.th/courses/66/document/C4.pdf · 2012-10-16 · Software Requirement November 30, 2008 2 ˘ˇ˘ˆ ˙ ˝ ˛˚

November 30, 2008 73

IEEE IEEE ����5����������������5������������

�� /��������8�����#���/�/���*�/��������8�����#���/�/���*� ����������������� ����������������������&���(�����&���(-- &#���&#���-- ����'�&�(#���/�����'�&�(#���/�-- �������������������� �%���("� �$(� �%���("� �$(�-- &#��&&#��& ((1�� ���1�� ���))-- ��!�$��!�$

November 30, 2008 74

8�����0� ��������������8�����0� ��������������

1.1. ������������2.2. &#���&#���3.3. �����"I��#������"I��#�4.4. �������������������������� ����������0� ���!�����������0� ���!�5.5. ���J�(������&&���J�(������&&6.6. ������������&&����("� �$(�������������&&����("� �$(�7.7. ��&&����&&��&&����&&8.8. ����2�����0���&&����2�����0���&&9.9. &#��&&#��& –– 1�� ���1�� ���10.10. ��!�$��!�$

November 30, 2008 75

Key pointsKey points

�� RequirementsRequirements ����&��*���&&����$��/�&������&��*���&&����$��/�&�� �"��"� ��/���/������� 0���������������� ������0���������������� ������

�� Functional requirements Functional requirements ��&�&�����#$���&&������$��&�&�����#$���&&������$������

�� NonNon--functional requirements functional requirements �%������������&&#$� �%������������&&#$����"���2�����"���2�� �������� ���&����������2�����&����������2��

�� ����������0� ���!���&&����������0� ���!���&& (User requirements(User requirements) ) �%� �%�&#��������&�&#��������&� &*&���*���&&���#����/�/��&*&���*���&&���#����/�/�� user user requirementsrequirements ��� 0$(����(1�9�'���!������ 0$(����(1�9�'���!��� �����&���(�����&���(�������� �"��"� ���� ����

November 30, 2008 76

�� ��#$���� �%������&��&&��#$���� �%������&��&& (System requirements(System requirements) ) �$�$���������� ����������*�,J!�����#$���&&������$������������� ����������*�,J!�����#$���&&������$���

�� Software requirements Software requirements �%� ����0����"#$���&� �%� ����0����"#$���&� ��#$���#$���� �%������&��&&��� �%������&��&&

�� ����5������5�� IEEEIEEE �$���8(!��������!� �%���� ��������$���8(!��������!� �%���� ������� �������&��������&�����5����������������("� �$(�����5����������������("� �$(�