lecture 3 print 6

Upload: marlon-boucaud

Post on 06-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Lecture 3 Print 6

    1/12

    1

    Lecture III

    2

    Requirements/Systems analyst

    • Person performing the tasks of determining

    the requirements for a proposed softwaresystem

     – (problem analysis) breaking down what the

    customer wants into discrete requirements

    3

    Requirements

    • Goal of requirements phase

     – understand the customer’s problems and needs

    • What is requirements?

     – An expression of desired behaviour 

     – Deals with objects/entities, states they can bein, and functions that are performed to changestate or object characteristics

     – Designates what behaviour the customer wantswithout saying how the behaviour will be

    realised 4

    Specification and Design

    • Specification makes decisions on which

    requirements will be fulfilled by our software

    system

     – As opposed to those that are addressed by special

     purpose hardware devices, by other software

    systems or by human operator or users

    • In design, a plan is devised as to how the

    specified behaviour will be implemented 

    5 6

  • 8/16/2019 Lecture 3 Print 6

    2/12

    7 8

    Requirements process

    9

    Requirements Process -

    Elicitation

    • Collecting the user requirements by:

     – Asking questions

     – Examining current behaviour 

     – Demonstrating similar systems

    10

    Requirements Process - Analysis

    • Understanding and modelling the desired behaviour 

     – Modelling or prototyping the requirementshelps us to better understand the required

     behaviour 

     – Also raises additional questions about what thecustomer wants to happen in certain situations

    • May expose problems or omissions in ourmodels that cause us to revisit the customer

    and revise our models

    11

    Requirements Process - Specification

    • Documenting the behaviour of the proposed

    software system

     – Requirements are well understood 

     – Then it is decided which parts of the required

     behaviour will be implemented in this software

    system

    12

    Requirements Process - Validation

    • Checking that our specification matches the

    user’s requirements

     – Matches developer’s specifications with user’s

    expectations of the final product

    • May expose problems or omissions in our

    specifications that cause us to revisit the

    customer and revise our specifications

  • 8/16/2019 Lecture 3 Print 6

    3/12

    13

    Requirements Process – Software

    Requirements Specifications (SRS)

    • Eventual outcome of the requirements process

    • Is used to communicate to the other software

    developers (designers, testers, maintainers)

    how the final product ought to behave

    14

    Requirements Elicitation

    • Critical part of the process

    • Must use a variety of the techniques to

    determine what the users and the customers

    really want

    • Discussion with everyone who has a stake in the

    system and coalescing these different views into

    a coherent set of requirements

    15

    Stakeholders in Requirements –

    Elicitation Process

    1. Clients

    2. Customer 

    3. Users

    4. Domain Experts

    5. Market Researchers

    6. Lawyers or auditors

    7. Software engineers or other technology experts

    16

    Stakeholders in Requirements

    Elicitation Process• Clients

     – Pay for software to be developed 

     – Ultimate stakeholders as they have final say on what product does

    • Customers

     – Buy software after it is developed 

    • Users

     – Experts on how current system works (most usefulfeatures, features that need improvement)

     – Need to understand particular needs of special groups(differently-abled individuals, persons unfamiliar withcomputers, expert users)

    17

    Stakeholders in Requirements

    Elicitation Process

    • Domain experts

     – Familiar with the problem that software must automate(financial expert for a financial package, meteorologistfor software to model weather)

     – Also know about kinds of environment to which product will be exposed 

    • Market Researchers

     – Conduct surveys to determine future trends and potential customers’ needs

    18

    Stakeholders in Requirements

    Elicitation Process

    • Lawyers/auditors

     – Familiar with government, safety or legal requirements(tax expert ensures payroll package adheres to tax law,experts on standards which are relevant to product’s

    functions)

    • Software Engineers/other technology experts

     – Ensures that the product is technically andeconomically feasible

     – Educate customer about innovative technology,recommend new functionality taking advantage of thesetechnologies, and can estimate cost and developmenttime

  • 8/16/2019 Lecture 3 Print 6

    4/12

    19 20

    21

    Techniques for Eliciting Requirements

    1. Interviewing stakeholders

    2. Reviewing available documentation

    3. Observing current system (if one exists)

    4. Apprenticing with users

    5. Interviewing users/stakeholders in groups

    6. Using Domain-specific strategies

    7. Brainstorming22

    Techniques for Eliciting Requirements

    • Interviewing stakeholders

     – To capture the many views of the system and how it shouldwork 

    • Reviewing available documentation

     – Documented procedures of manual tasks

     – Specifications or user manuals of automated system

    • Observing current system (if one exists)

     – Gather objective information about how users perform theirtasks

     – Better understand the system that the developers are about to

    automate or change

    23

    Techniques for Eliciting Requirements

    • Apprenticing with users

     – Learn more about users’ tasks in more detail as the user performs them

    • Interviewing users/stakeholders in groups

     – So that they will be inspired by one another’s ideas

    • Using domain-specific strategies

     – To ensure that stakeholders consider specific types ofrequirements that are relevant to their particular situations

    • Brainstorming with current and potential users about howto improve the proposed product

    24

    Types of Requirements – Functional

    Requirements

    • Describes a required behaviour in terms of

    required activities

     – e.g. reactions to inputs, states of each entity before

    and after an activity occurs

    • Defined boundaries of a solution space for our

     problem

     – Solution space is the set of possible ways that

    software can be designed to implement the

    requirements

  • 8/16/2019 Lecture 3 Print 6

    5/12

    25

    Types of Requirements – Quality / Non-

    Functional Requirements

    • Describes some quality characteristic that

    the software solution must posses

     – e.g. fast response time, ease of use, high

    reliability and low maintenance costs

    • Design criteria that can be optimised and

    used to choose among alternative

    implementations of functional requirements

    26

    Make Requirements Testable

    • Make requirements testable so the conclusion

    of whether or not a proposed solution meetsthe requirement, must not vary according to

    who is doing the evaluation

    • Fit criteria

     – Objective standards for judging whether a

     proposed solution satisfies the requirements

    27

    Constraints on Requirements – Design

    Constraints

    • Design constraint

     – Design decision that has already been made andthat restricts the set of solutions to our problem

    • e.g. choice of platform or interface components

    • Process constraint

     – Restriction on the techniques or resources thatcan be used to build the system

    • e.g. customer may insist that we use agile methods,so that they can use early versions of the system

    while we continue to add features28

    Requirements Problem - Conflict

    • May encounter conflicting ideas of what

    requirements ought to be, when eliciting

    from stakeholders

    • Possible solutions are

     – Ask customer to prioritise requirements

     – Negotiation

    29

    Conflict Solutions – Customer

    prioritises requirements

    • Helps customer reflect on which of requestedservices and features are most essential

    • Loose prioritisation scheme separates requirementsinto 3 categories

     – Essential Requirements that absolutely must be met

     – Desirable Requirements that are highly desirable butnot necessary

     – Optional Requirements that are possible but could beeliminated 

    30

    Conflict Solutions – Negotiation

    • Requires skills, patience and experience in

    finding mutually acceptable solutions

    • With effective negotiation, stakeholders will – understand and appreciate each other’s

    fundamental needs and 

     – strive for a resolution that satisfies everyone

  • 8/16/2019 Lecture 3 Print 6

    6/12

    31

    Different Purposes of

    RequirementsTo explain their

    understanding of how the

    system would behave

    Requirements analysts

    and their clients

    To help ensure that the

    system enhancements do

    not interfere with the

    system’s original intent

    Maintenance team

    To derive a suite of

    acceptance testsTest team

    Used as constraints on what

    would be considered an

    acceptable solution

    Designers

    32

    Requirements Documents1. Requirements Definition

     – Aimed at a business audience, such as clients,customers and users

     – Complete listing of everything customer wants to

    achieve – Written entirely in terms of environment, describing

    how the environment will be affected by the proposedsystem

    2. Requirements Specification

     – Aimed at a technical audience, such as designers,testers and project managers

     – Restates requirements as a specification of how proposed system will behave

     – Written entirely in terms of environment, except thatrefers solely to environmental entities that areaccessible to the system via its interface

    33

    Characteristics of Requirements

    1. Correctness

    2. Consistency

    3. Unambiguity

    4. Completeness

    5. Feasibility

    6. Relevance

    7. Testability

    8. Traceability

    34

    Characteristics of Requirements

    1. Correctness

    • Developer and customer should ensure conformity to

    our understanding of the requirements

    2. Consistency

    • No conflicting requirements, as inconsistent

    requirements cannot be satisfied simultaneously

    3. Unambiguity

    • Multiple readers of requirements should have

    different but valid interpretations

    35

    Characteristics of Requirements

    4. Completeness

    • Set of requirements is defined as complete if it

    specifies required behaviour and output for all

     possible inputs in all possible states under all poss ible

    constraints

    • Externally complete if all states, state changes,

    inputs, products, and constraints are described by

    some requirement

    • Internally complete if there are no undefined terms

    among the requirements

    36

    Characteristics of Requirements

    5. Feasibility

    • Existence of a solution to customer’s need 

    6. Relevance

    • Indirectly related to customer’s need or may restrictdevelopers unnecessarily

    7. Testability• Existence acceptance tests that would clearly

    demonstrate whether the eventual product meets therequirements

    8. Traceability

    • Organisation of requirements for easy reference

    • There should be correspondence between every entryin the requirement definition and requirementsspecification, and vice versa

  • 8/16/2019 Lecture 3 Print 6

    7/12

    37

    Purpose of characteristics

    • Help in making the decision when we have

    collected enough information

    • Also when we need to learn more about

    what a particular requirement means

    38

    Purpose of characteristics

    • The degree to which we want to satisfy these

    characteristics will affect:

     – Type of information that we gather duringrequirements elicitation, and how comprehensive we

    want to be

     – Specification language we choose to express the

    requirements and the validation and verification

    checks that we eventually perform to assess the

    requirements

    39 40

    41 42

  • 8/16/2019 Lecture 3 Print 6

    8/12

    43 44

    45 46

    47 48

  • 8/16/2019 Lecture 3 Print 6

    9/12

    49 50

    51 52

    53 54

  • 8/16/2019 Lecture 3 Print 6

    10/12

    55 56

    What are crucial process steps of requirement

    engineering ? Discuss with the help of a diagram

    What do you understand with the term

    “requirements elicitation”?

    What are components of a use case diagram.

    Explain their usage with the help of an example

    Draw the E–R diagram for a hotel reception desk

    management

    Questions

    57

    End of Lesson III

    Thank you

    58

    CURRENT INVENTORY

    DAMAGED INVENTORY SHIPPED INVENTORY

    DATABASE

    REMOVED INVENTORY

    INVENTORY ANALYSIS

    TRENDING

    SPARE MANAGEMENT DATA FLOW

    USER INTERFACE

    ADD FAULTY ADD RMA NO.ADD INVENTORY ADD SITE ID

    Diagram – 3

    Some examples of E-R Diagrams

    59

    FAULT MANAGEMENT DATA FLOW

    USER INTERFACE

    ACTIVE OUTAGE

    PRE-SUBMISSION

    OUTAGE REPORT

    SUPPORT ENGINEERS

    RESTORED OUTAGES

    SPARE MANAGEMENT

    ACTIVE WORKS

    PRE-SUBMISSION

    PLANNED WORKS

    SUPPORT ENGINEERS

    COMPLETED WORKS

    SITE MANAGEMENT

    PLANNED WORKS OUTAGE REPORTING

    DATABASE

    C

    US

    TOM

    ER

    AREA

    60

    Let us do one E-R diagram for

    Grade Sheet building

  • 8/16/2019 Lecture 3 Print 6

    11/12

    61

    SRS

    Interviews/ Questions/ Requirement Analysis

    Scope and Specifications

    What a Grade Sheet will have now?

    Student ID? Name?

    Is Grade Sheet for a specific semester? Or for whole program,

    showing the history of all courses in all semesters of a specific

    student?

    Is there any change in the Grading Scheme over the time ?

    Is there any change in the course codes and course titles?

    Grade Sheet Building

    62

    What are the entities in a Grade Sheet?

    ID

     Name

    Semester Details with Year and Month

    List of Courses

    Grades obtained 

    CGPA for that semester 

    Grade Sheet Building

    63

    Do we need the Teacher Information?

    What is a Faculty?

    Who offer the courses? And to who?

    What is a class?

    Do all the students in a class belong to one faculty?

    Do we need to know the answers for the above?

    If a student gets F grade and then repeats the same course

    and gets another grade now; how that information should

     be reflected?

    Grade Sheet Building

    64

    What are the entities in a Grade Sheet?

    ID

     Name

    Semester Details with Year and Month

    List of Courses

    Grades obtained 

    CGPA for that semester 

    Grade Sheet Building

    65

    What are the Objects?

    Student

    Teacher Course

    Grade

    Class

    Faculty

    Grade Sheet Building

    66

    What Functions we do need?

    Structure for a student?

    Structure for a teacher?

    Adding a teacher/update/ removing

    Similarly a student?

    Similarly a course?

    How we determine the final mark?

    How we determine the grade?

    How CGPA is computed?

    Grade Sheet Building

  • 8/16/2019 Lecture 3 Print 6

    12/12

    67

    What Technologies do we use to develop

    this application?

    Who enter the marks? [Inputs?]

    Who will see the grades? [outputs?]

    Who will verify these ? [verification or

    validation?]

    Grade Sheet Building

    68

    Develop DFDs

    Develop E-R Diagrams

    Decide who does what?

    Determine the Team Size

    Determine the Time Frame for the project

    Grade Sheet Building