2 Analysis Concepts and Principles

Embed Size (px)

Citation preview

  • 8/3/2019 2 Analysis Concepts and Principles

    1/29

    Department of Informatics Universitas Islam Indonesia

    Analysis concepts and principles

    Teduh Dirgahayu

    [email protected]

    Software Engineering

  • 8/3/2019 2 Analysis Concepts and Principles

    2/29

    February 16, 2011Software Engineering 2

    Department of Informatics Universitas Islam Indonesia

    Outline Software requirement analysis

    Source, stakeholders, techniques

    Analysis principles Prototyping

    Requirement specification

    Review

  • 8/3/2019 2 Analysis Concepts and Principles

    3/29

    February 16, 2011Software Engineering 3

    Department of Informatics Universitas Islam Indonesia

    Change

    Development

    Engineering process What is the problem to be solved?

    What are the characteristics of the solution?

    How will the solution be realised?

    How will the solution be constructed?

    What approach will be used to uncover errorsthat were made in the design and construction

    of the solution? How will the solution be supported over long

    term?

    Definition

  • 8/3/2019 2 Analysis Concepts and Principles

    4/29

    February 16, 2011Software Engineering 4

    Department of Informatics Universitas Islam Indonesia

    Analysis

    Design

    Code

    Test

    Maintenance

    Definition

    Change

    Development

  • 8/3/2019 2 Analysis Concepts and Principles

    5/29

    February 16, 2011Software Engineering 5

    Department of Informatics Universitas Islam Indonesia

    Software requirements A software requirement

    a property which must be exhibited bysoftware developed or adapted to solve aparticular problem.

  • 8/3/2019 2 Analysis Concepts and Principles

    6/29

    February 16, 2011Software Engineering 6

    Department of Informatics Universitas Islam Indonesia

    Product vs. process requirements

    Product

    requirements on software

    The software shall verify that a student meets allprerequisites before he/she registers for a course.

    Process requirements on the development of software

    The software shall be written in Java.

  • 8/3/2019 2 Analysis Concepts and Principles

    7/29February 16, 2011Software Engineering 7

    Department of Informatics Universitas Islam Indonesia

    Functional vs. non-functional requirements

    Functional

    Functions that the software must execute

    The software processes students' courseregistrations.

    Non-functional Constraints or quality of the software

    The software shall be able to process at least 500course registrations per minute.

  • 8/3/2019 2 Analysis Concepts and Principles

    8/29

    February 16, 2011Software Engineering 8

    Department of Informatics Universitas Islam Indonesia

    Software requirement analysis A process ofdiscovery, refinement,

    modeling, and specification of softwarerequirements.

    Enables software engineer to

    specify function and performance

    indicate interaction with other elements

    establish constraints that must be met.

  • 8/3/2019 2 Analysis Concepts and Principles

    9/29

    February 16, 2011Software Engineering 9

    Department of Informatics Universitas Islam Indonesia

    Software

    requirementanalysis

    Softwaredesign

    Architectural design

  • 8/3/2019 2 Analysis Concepts and Principles

    10/29

    February 16, 2011Software Engineering 10

    Department of Informatics Universitas Islam Indonesia

    Requirement sources

    Goals (eg. business concern, success factors)

    Domain knowledge Stakeholders

    Operational environment

    Organisational environment

  • 8/3/2019 2 Analysis Concepts and Principles

    11/29

    February 16, 2011Software Engineering 11

    Department of Informatics Universitas Islam Indonesia

    Stakeholders

    (people involved in software development)

    Users Customers

    Market analysts (for mass market software)

    Regulators (eg. banking, transportation) Software engineers

  • 8/3/2019 2 Analysis Concepts and Principles

    12/29

    February 16, 2011Software Engineering 12

    Department of Informatics Universitas Islam Indonesia

    Techniques

    Interviews

    Scenarios (what-if, how-to) Prototypes

    Observations

    Facilitated meetings

    Refinement

    Conflicts resolution

    Prioritisation

  • 8/3/2019 2 Analysis Concepts and Principles

    13/29

    February 16, 2011Software Engineering 13

    Department of Informatics Universitas Islam Indonesia

    Analysis principles (1) The information domain of the problem

    must be represented and understood.

    Software is to process data and information. Information domain consists of

    Information content (ie. individual data)

    Information structure

    Information flow

  • 8/3/2019 2 Analysis Concepts and Principles

    14/29

    February 16, 2011Software Engineering 14

    Department of Informatics Universitas Islam Indonesia

    Analysis principles (2) The functions that the software is to

    perform must be defined.

    Function: what to do Process

    Input and output

    Actor (optional)

  • 8/3/2019 2 Analysis Concepts and Principles

    15/29

    February 16, 2011Software Engineering 15

    Department of Informatics Universitas Islam Indonesia

    Analysis principles (3) The behaviour of the software must be

    represented.

    Behaviour: how to do The detailed information offunctions.

  • 8/3/2019 2 Analysis Concepts and Principles

    16/29

    February 16, 2011Software Engineering 16

    Department of Informatics Universitas Islam Indonesia

    Analysis principles (4) The models must be partitioned in a

    manner that uncovers detail in a layered

    fashion.

    Problem is too large or too complex to handle.

    Decompose the problem into sub-problems.

    Vertical and horizontal decomposition

    l d

  • 8/3/2019 2 Analysis Concepts and Principles

    17/29

    February 16, 2011Software Engineering 17

    Department of Informatics Universitas Islam Indonesia

    Alarm software

    Configure

    system

    Monitor

    sensors

    Interact

    with user

    Poll forsensor event

    Activatealarm functions

    Horizontal partitioning

    Verticalpart

    itioning

    l d

  • 8/3/2019 2 Analysis Concepts and Principles

    18/29

    February 16, 2011Software Engineering 18

    Department of Informatics Universitas Islam Indonesia

    Analysis principles (5) The analysis process should move from

    essential information towardimplementation detail. Essential view

    High-level representation of structures and function(without involving implementation detail)

    Implementation view

    Real-world realisation of structures and functions.

    U i i I l I d i

  • 8/3/2019 2 Analysis Concepts and Principles

    19/29

    February 16, 2011Software Engineering 19

    Department of Informatics Universitas Islam Indonesia

    Model AModel A

    Model A'

    Model A''

    Essential information

    Implementation detail 1

    Implementation detail 2

    U i i I l I d i

  • 8/3/2019 2 Analysis Concepts and Principles

    20/29

    February 16, 2011Software Engineering 20

    Department of Informatics Universitas Islam Indonesia

    Prototyping Prototype is a software realisation of

    requirements for assessment.Build

    prototype

    Customertest prototype

    Listen tocustomer

    Assessment

    Requirementanalysis

    U i it I l I d i

  • 8/3/2019 2 Analysis Concepts and Principles

    21/29

    February 16, 2011Software Engineering 21

    Department of Informatics Universitas Islam Indonesia

    Throwaway prototype

    For demonstration purpose only

    Prototype is discarded when requirement areclearly understood.

    Evolutionary prototype

    Prototype is the first evolution of the software. Prototype is continued into design and

    construction.

    U i it I l I d i

  • 8/3/2019 2 Analysis Concepts and Principles

    22/29

    February 16, 2011Software Engineering 22

    Department of Informatics Universitas Islam Indonesia

    Requirement specification Establishes the basis for agreement

    between customers and developers on

    What the software to do What the software not expected to do.

    Provides a realistic basis for estimatingproduct costs, risks, and schedules.

    Uni ersitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    23/29

    February 16, 2011Software Engineering 23

    Department of Informatics Universitas Islam Indonesia

    Requirements are in natural language.

    Requirement specification is supplemented

    by formal or semi-formal description. Eg. mathematical or graphical model.

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    24/29

    February 16, 2011Software Engineering 24

    Department of Informatics Universitas Islam Indonesia

    Example: Specification outline Introduction

    System references

    Overall description

    Software project constraints Information description

    Information content and structure representation

    Information flow representation

    Functional description

    Functional partitioning

    Functional description: narrative, limitation,performance, constraints, diagrams.

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    25/29

    February 16, 2011Software Engineering 25

    Department of Informatics Universitas Islam Indonesia

    Behavioural description

    Validation and criteria

    Performance bounds

    Classes of tests Expected response

    Special considerations

    Bibliography

    Appendix

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    26/29

    February 16, 2011Software Engineering 26

    Department of Informatics Universitas Islam Indonesia

    Specification review

    Do goals and objectives for software remainconsistent with system goals and objectives?

    Have important interfaces to all system elementsbeen described?

    Is information structure and flow adequatelydefined?

    Are diagrams clear? Do functions remain within scope and has each

    been adequately described?

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    27/29

    February 16, 2011Software Engineering 27

    Department of Informatics Universitas Islam Indonesia

    Is the behaviour consistent with the information itmust process and the functions it must perform?

    Are design constraints realistic?

    Have the technological risk been considered?

    Have alternative software requirements beenconsidered?

    Have validation criteria been stated in detail? Arethey adequate?

    Do inconsistencies, omissions, or redundancy exist?

    Has the user reviewed the preliminary prototype?

    How are planing estimates affected?

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    28/29

    February 16, 2011Software Engineering 28

    Department of Informatics Universitas Islam Indonesia

    Summary Software requirement analysis

    Analysis principles

    Requirement specification

    Universitas Islam Indonesia

  • 8/3/2019 2 Analysis Concepts and Principles

    29/29

    February 16 2011Software Engineering 29

    Department of Informatics Universitas Islam Indonesia

    Homework Assignment

    Do a requirement analysis for your softwareproject.

    Prepare a presentation for 5 minutes.