Comp 682 MidTerm Exam Review

 

The Requirements Problem – Chapter 1

            The goal of software development

                        Develop quality software

                        Meet schedule

                        Meet budget

                        Satisfy customer needs

            The relationship between requirements engineering and project success

 

Requirements Management – Chapter 2

            Distinguish between

                        Stakeholder needs

                        System features

                        Software requirements

            Definition of requirements management

 

Requirements and the Software Lifecycle – Chapter 3

            Traditional software process models

                        Waterfall model

                        Spiral model

            The iterative model (advantages)

 

The Software Team – Chapter 4

            Skills for effective requirements management

                        Analyzing the problem

                        Understanding user and stakeholder needs

                        Defining the system

                        Managing scope

                        Refining the system definition

                        Building the right system

 

Steps in Problem Analysis – Chapter 5

            Gain agreement on the problem definition – be able to write a problem definition statement

            Understand the root causes – be able to diagram root causes

            Identify the stakeholders – be able to describe how to determine the stakeholders

            Define the solution system boundary – be able to create a system perspective diagram

            Identify the constraints to be imposed on the solution – be able to list constraints for a given problem

 

Business Modeling – Chapter 6

            What is business modeling?

            The purpose of business modeling

            When is business modeling important?

 

System Engineering – Chapter 7

            What is system engineering?

            Derived requirements

                        Subsystem requirements

                        Interface requirements

 

Requirements Elicitation – Chapter 8

            The “yes, but” syndrome

            The “undiscovered ruins” syndrome


The Features of a Product/System – Chapter 9

            What is a product/system feature?

            Attributes of features

 

Interviewing – Chapter 10

            Context-free questions

            Questionnaires

           

Requirements Workshops – Chapter 11

            Advantages of workshops

            Effectively running a workshop

 

Brainstorming and Idea Reduction – Chapter 12

            What is meant by brainstorming?

            Idea reduction

                        Pruning ideas

                        Grouping ideas

                        Defining features

                        Prioritizing ideas

            Web-based brainstorming

 

Storyboarding – Chapter 13

            What is the purpose of storyboarding?

            Types of storyboards

                        Passive

                        Active

                        Interactive

            Advantages of storyboarding

 

Use Cases – Chapter 14

            Benefits of Use Cases

            Definition of a use case (be able to write a use case for a given feature)

                        Name

                        Description

                        Actor(s)

                        Flow of events

                                    Basic flow

                                    Alternate flow

                        Pre-conditions

                        Post-conditions

            Building a use case model

                        Identify and describe the actors

                        Identify the use cases and write brief descriptions of each

                        Identify the actor(s) and use-case relationships

                        Outline the individual use cases

                        Refine the use cases

            Use cases and the user interface design (using storyboarding)

             

 

           


 

Sample short answer questions:

 

1.            Explain the difference between stakeholder needs and system features.

 

2.            Identify one important advantage of an iterative lifecycle model.

 

3.            What is system engineering?

 

4.            Explain the “yes, but” syndrome in requirements elicitation.

 

5.            What is the difference between an “active” storyboard and an “interactive” storyboard?

 

 

Sample essay questions:

 

1.    The major goal in developing a software product is to develop quality software – on time and on budget – that meets customers’ real needs.  Explain why the task of software requirements analysis, specification, and management plays such an important role in meeting this goal.  Be sure to describe “the requirements problem” and the reasons why errors in requirements can cause significant problems.

 

2.    Before applications development begins for a software project it is important to understand the problem to be solved.  A five step process for problem analysis is outlined below:

a.    Gain agreement on the problem definition.

b.    Understand the root causes of the problem.

c.    Identify the stakeholders and the users whose collective judgment will ultimately determine the success or failure of the system.

d.    Determine where the boundaries of the solution are likely to be found.

e.    Understand the constraints that will be imposed on the development team and on the solution.

      For each of the steps above briefly explain why it is important.  You can do this by explaining what can go wrong if the step is not done or not done well.  You may want to give specific examples to help clarity your explanation.

 

3.    Assume that your organization has been asked to develop an online course registration system for students that would allow students to register and pay fees necessary to attend the University, to add, drop, and change classes, and to display and print their current programs.  You are requested to duplicate the general functionality of the current telephone-based registration system using a Web-based approach.  For this proposed system complete the table below, draw a fishbone diagram of root causes, and create a diagram showing the “System Perspective” showing the key users and stakeholders and indicating the system boundary.  Finally, specify any constraints imposed on the solution.  You may use your knowledge of the Solar system as a reference, but do not limit yourself to the things that Solar can do.  You may make any assumptions you like about your organization and that of the customer that may impose constraints on your solution.

                                                                            

Element

Description

The problem is . . .

Describe the problem

Affects . . .

Identify all users and stakeholders affected by the problem.

And results in . . .

Describe the impact of this problem on stakeholders and activities of the organization.

Benefits of a solution . . .

Indicate the proposed solution and list a few key benefits.

 

4.    Several techniques can be used for requirements elicitation in trying to ensure the development of an effective requirements specification.  These include the following:

·    Interviewing and questionnaires

·    Requirements workshops

·    Brainstorming and idea reduction

·    Storyboarding

      Describe the relative advantages and disadvantages of each of these techniques and explain under what circumstances one technique might be more useful than the others.  Note that some of these techniques might overlap with others and that any or all of them might be used for a given project.

 

5.    Brainstorming involves both idea generation and idea reduction.  Describe the activities associated with each of the following steps associated with brainstorming and explain how each is typically conducted including approaches to ensure maximum benefit of the process.

·    Idea Generation (Live Brainstorming)

·    Pruning Ideas

·    Grouping Ideas

·    Defining Features

·    Prioritizing Ideas

 

6.    Using the Use-Case template below, develop a use case for the dropping of a class by a student in the Course Registration System described in question 3,

          

           Name of the Use Case

 

Description:

 

Actor(s):

 

Flow of events:

          Basic flow:

               Event 1

               Event 2

               . . . . . .

 

          Alternate flow 1:

               Event 1

               Event 2

               . . . . . .

 

          Alternate flow 2:

               Event 1

               Event 2

               . . . . . .

 

          . . . . . .

 

Pre-conditions:

 

Post-conditions: