User Interface Design G64UID

Document Sample
scope of work template
							 User Interface
Design G64UID
          Steve Benford

 Specifying Requirements
Learning outcomes
   An understanding of what „requirements
    specification‟ means
   Specifically the meaning of
       User versus system requirements
       Functional versus non-functional requirements
       Software Requirements Specification (SRS) document
   Requirements specification in your coursework
       CW1 (second part): 2,500 word group report
       20% of overall module mark
Software Engineering 8
Ian Sommerville




    Requirements engineering
         “Requirements engineering is concerned with establishing what the
         system should do, its desired and essential emergent properties, and
         the constraints on system operation and the software development
         processes.”

         “You can therefore think of requirements engineering as the
         communications process between the software customers and users
         and the software developers.”

         “Requirements engineering is not simply a technical process. The
         system requirements are influenced by users‟ likes, dislikes and
         prejudices, and by political and organizational issues. These are
         fundamental human characteristics, and new technologies, such as
         use-cases, scenarios and formal methods, don‟t help us much in
         resolving these thorny problems.”
Requirements Specification
 “The requirements for a system are the descriptions of the services
 provided by the system and its operational constraints. These
 requirements reflect the needs of customers for a system that helps
 solve some problem such as controlling a device, placing an order or
 finding information.”

    2 key types of requirement
        User requirements:
            “ … statements, in a natural language plus diagrams, of what
            services the system is expected to provide and the constraints
            under which it must operate.”
        System requirements:
            “ [statements which] set out the system‟s functions, services and
            operational constraints in detail. The system requirements document
            (sometimes called a functional specification) should be precise. It
            should define exactly what is to be implemented. It may be part of
            the contract between the system buyer and the software
            developers.”
User Requirements
   Based on ethnography (and other methods for understanding
    users and use settings)


     “ … user requirements for a system should describe the functional and
     non-functional requirements so that they are understandable by system
     users without detailed technical knowledge.”

     “They should only specify the external behaviour of the system and
     should avoid, as far as possible, system design characteristics.
     Consequently, if you are writing user requirements, you should not
     use software jargon, structured notations or formal notations, or
     describe the requirement by describing the system
     implementation. You should write user requirements in simple
     language, with simple tables and forms and intuitive diagrams.”
System Requirements

“System requirements are expanded versions of the user requirements
that are used by software engineers as the starting point for the system
design.”

 “They add detail and explain how the user requirements should be
 provided by the system ... system requirements should simply describe
 the external behaviour of the system and its operational constraints.
 They should not be concerned with how the system should be
 designed or implemented.”

 “... you can write system requirements in more specialized notations. These
 include stylized, structured natural language, graphical models of the
 requirements such as use-cases to formal mathematical specifications.”
    Functional & Non-Functional
    Requirements
   Functional Requirements:
        “These are statements of services the system should provide, how the
         system should react to particular inputs and how the system should
         behave in particular situations.”


       Non-functional Requirements:
           These are constraints on the services or functions offered by the
            system. They include timing constraints, constraints on the
            development process and standards. Non-functional requirements
            often apply to the system as a whole. They do not usually just apply
            to individual system features or services.
Non-Functional Requirements
Ian Sommerville
Usability requirements
   Revisit the five core goals of usability
       Time to learn
       Speed of performance once learned
       Rate of errors
       Retention over time
       Satisfaction
   … and comment on each
Documenting Requirements
   Coursework . 4500 word group report on ethnographic study and
    requirements specification
       Worth 30% of the overall mark: 15% for the study, 15% for the requirements


   Use the requirements analysis tables that are on the course website to
    identify user and system requirements
       in functional and non-functional detail



   Produce a 2000 word account of your requirements that follows the
    structure of the CW Template
        Include your requirements analysis tables in the appendix
        Make sure in complete Table 1 in the analysis tables in light of your requirements
    Requirements Analysis Tables
                   me
            Re quire nts                               De scription

    Hardware

    Describe thehardware                                             ired to
                                     List the hardware components requ
    requirements for the proposed    deliver the specification
    system


    Software

    Describe thesoftware             List the software components required to deliver
    requirements for the proposed                  o
                                     the specificati n
    system


    Inte rface

    Describe theinterface                       e
                                     List the int rface components required to deliver
    requirements for the proposed                   o
                                     the specificati n
    system


    Ne twork

    Describe thenetwork                         w
                                     List the net ork components required to deliver
    requirements for the proposed                  o
                                     the specificati n
    system


                   onme nt
    Ope rating Env ir

    Describe theenvironmental                       i
                                     List the ways n which the system should be
    requirements for the proposed    situated in the use environments and how it
    system – i.e., the physical      affords access to deliver the specification
    arrangement of the technology in
    the setting of use




     An abridged version of the IEEE Standard SRS
      document format
                IEEE/ANSI 830-1998
Challenges of requirements
   Being clear
       speaking to your audience(s)
       Being unambiguous
       Clearly separating requirements
   Being complete
   Not overly constraining design
   Being grounded and justifiable
   Prioritising
   Separating functional from non-functional and user
    from system requirements
   Evolving requirements during iterative design

						
Related docs