Part I: True or False – Circle your choice on the answer sheet. (1 Point Each)

T

1. The process management premise is that a quality product is largely governed by the quality of the process used to develop and maintain it.

T

2. Understanding the user’s task domain is one problem faced by software developers.

F

3. The requirements document should communicate the developers' technical understanding of the intended software system to the customer.

T

4. During requirements analysis establishing a system’s social feasibility is as important as its technical feasibility.

T

5. Traceability is an important quality of the requirements.

T

6. Software configuration management attempts to control changes in software project artifacts.

F

7. Recent data indicates the US software industry utilizes state-of-the-art practices.

F

8. Defect detection strategies are most effective once product implementation has begun.

F

9. Since software is not a concrete, physical substance it is easily to change whenever customers request modifications.

T

10. Building the right product is a primary concern of software engineering.

T

11. Prior development experience in a problem domain should not be considered in the choice of life-cycle models for a project.

F

12. Quality is a life-cycle concern.

T

13. One concern involved in choosing a team organization for a project is the type and amount of communication between team members that may be required.

T

14. Determining a life-cycle model for a project requires consideration of people, product, and problem factors.

T

15. One concern especially during requirements analysis is determining how the intended system may modify the existing work context.

T

16. Validating the requirements addresses the issue of whether we are building the product the customer and users want and/or need.

F

17. Software maintenance issues are only addressed when the product is delivered.

T

18. Software Quality Assurance is a planned and systematic pattern of actions required to ensure quality in software.

F

19. The production of the software product is the critical objective during the development activity.

F

20. The working program is the only important deliverable from a software project.

F

21. Most quality factors address the distribution of defects in the resulting software product.

F

22. Due to the complexity of software development it is unreasonable for customers and users to expect the timely delivery of a product.

T

23. Establishing behavior, data, and information flow models typically during information capture is part of the requirements analysis activity.

F

24. Utilizing a rapid prototyping development model diminishes the need to apply best practices during the development activity.

F

25. The nonfunctional requirements of a software product define those aspects of the system that are not essential.

II. Matching (1 points each)

Place the letter of the definition on the line next to the term number on the answer sheet (Use uppercase letters only).

 

Term

 

Definition

1.J

Correctness

a

A planned and systematic pattern of actions required to insure quality in software.

2.G

Requirements Management

b

Effort required to transfer a program from one hardware and/or software environment to another.

3.M

Efficiency

c

Monitoring the progress of a software project.

4.L

Performance

d

Establishes an understanding of the activities, resource estimates, plans, risks, and commitments and agreements between the project team, and the customer.

5.N

Robustness

e

A structured set of activities which are followed to derive, validate and maintain a systems requirements document.

6.O

Accuracy

f

The extent to which a program can be expected to perform its intended under stated conditions for a stated period of time.

7.K

Configuration Management

g

A process that helps establish a common understanding between the customer and the project team of stakeholder's needs.

8.F

Reliability

h

The set of activities, methods, and practices that are used in the production and evolution of software.

9.E

Requirements Engineering

i

A statement of what a system must do.

10.B

Portability

j

The extent to which a program satisfies its specifications and fulfills the user's mission objectives.

11.D

Project Planning

k

The act of identifying, organizing, and controlling modifications to the software being built by a development team.

12.C

Project Tracking and Oversight

l

Processing speed and/or response time.

13.A

Quality

Assurance

m

The extent to which software performs its intended functions with a minimum of computing resources.

14.H

Software

Process

n

The extent to which software can continue to operate correctly despite invalid inputs.

15.I

Requirement

o

The relation between the computed value and the theoretically correct value.

 

PART III: Multiple Choice

Choose the item that you consider makes the best response to each question, and place the letter of that item in the space provided on the answer sheet (Use uppercase letters only). (2 Points Each)

1. Software engineering is the systematic approach to the

a. development of software b. operation of software

c. maintenance of software d. retirement of software e. all of these

2. Brooks’ view of the essence of software included

a. people

quality

process

productivity

b. performance

robustness

maintainability

reusability

c. complexity

conformity

changeability

invisibility

d. efficiency

reliability

usability

robustness

e. none of these

3. Improving the process of software development is seen as a way to

a. Improve Product Quality b. Reduce Costs

c. Improve Staff Morale d. Increase Effectiveness e. All of These

4. The essence of software engineering is

a. Requirements Definition

Design Representation

Knowledge Capture

Quality Factors

b. Maintaining Configurations

Organizing Teams

Channeling Creativity

Planning Resource Use

c. Time/Space Tradeoffs

Optimizing Process

Minimizing Communication

Problem Decomposition

d. Managing Complexity

Managing Personnel Resources

Managing Time and Money

Producing Useful Products

e. none of these

5. To promote learning amongst the members of the development team during the development activity I would choose a

a. Democratic Team b. Hierarchical Team

c. Chief Programmer Team d. Any of these e. None of These

6. Defining a software process would not include

a. defining procedures b. defining practices c. defining inputs to task

d. defining a formal chain-of-command e. None of These

7. Which of the following is a life-cycle concern.

a. Testing b. Portability c. Programming d. Planning e. All of These

8. Which best captures the nature of the quality paradigm?

a. The Nature of Quality, A Process Perspective, Defect Elimination

  1. Process, Product, People, Problem
  2. Measurement, Quality Control, Validation

d. Feasibility, Requirements, Economics, Customer’s Needs

e. None of These

9. A product view in software engineering would consider which of the following

  1. Product performance Software Tools
  2. Organizational Structure

  • Staffing
  • Cost

    Delivery

  • Functionality
  • Product Performance

    V&V

  • Reliability
  • Robustness

    Accuracy

    e. None of These

     

    10. Prototyping seems appropriate for

    a. Data-oriented applications

    b. Applications with emphasis on the user interface

    c. Applications which are highly interactive

    d.Development teams who lack domain experience

    e. All of these

    11. The four major activities of the spiral model for software engineering are

    1. Planning, Risk Analysis, Engineering, Customer Evaluation
    2. Defining, Prototyping, Testing, Delivery
    3. Requirements
    4. Quick Design, Build Prototype, Evaluate Prototype, Refine Prototype
    5. e. All of These

      12. In choosing a development life-cycle model, I would consider the

      1. Development Group Expertise , Problem Characteristics, User Expectations
      2. Languages, Development Schedule, Competition
      3.  

      4. System Context , User Population, Platforms
      5. Organizational Structure, User Tasks, Performance Criteria
      6. All of These
      7. 13. Factors to consider when planning a software development effort are

        1. Performance, Problem , Product, Planning
        2. People, Problem, Product, Process
        3. People, Problem, Productivity, Performance
        4. People, Problem, Product, Portability
        5. Productivity, Programming, Performance, Pay-Off

        14. Which of the following could be a deliverable for a software system

        a. Source Code b. Reference Manual

        c. Requirements Document d. User's Guide e. All of These

        15. Which of the following is not viewed as a primary mover in improving the software process

        a. Increased Effectiveness b. Better Product Quality

        c. Improved Staff Satisfaction d. Reduced Costs e. Tighter managerial control

        16. Symptoms of the software crisis would include

        a. software delivered behind schedule b. software exceeding cost estimate

        c. unreliable d. difficult to maintain e. All of These

        17. Which of the following projects would be a good candidate for adopting the prototyping paradigm for software development

        a. Accounting System b. Spreadsheet c. Automobile Cruise Control

        d. Telephone Switching System e. Algebra Tutor

        18. Views of quality software would not include

        a. optimizing price and performance b. minimizing the execution errors

        c. conformance to specification d. establishing valid requirements

        e. None of these

        19. Software configuration activities would include

        a. identify change b. control change c. ensure proper implementation of change

        d. report change to interested parties e. all of these

         

         

        20. In planning a software project I would

        a. Find ways to produce results using limited resources

        b. Pad the schedule to accommodate errors

        c. Overestimate to the budget

        d. Structure the team to prevent administrative interference

        e. all of these

        21. A systematic approach to software development, as epitomized by the various life-cycle models, is useful in

        a. Helping us understand the nature of the software product

        b. Convincing the customer that we know what we are doing

        c. Filling texts on software engineering

        d. Managing the various activities necessary to get the job done

        e. All of these

        22. A process view in software engineering would consider which of the following

        1. Product performance
        2. Staffing
        3. Functionality
        4. Reliability

    e. All of These

    23. Software measurement is useful to

    a. indicate quality of the product b. track progress c. assess productivity

    d. form a baseline for estimation and prediction e. all of the above

    24. Concerns during the management of a software project would include

    a. money b. time c. product quality

    d. project/product information e. all of these

    25. The social feasibility of a system is only explored when

    a. lives are at stake b. unions are involved

    c. management is resistant d. the budget is tight

    e. none of the above

    26. Requirements analysis demands we investigate

          1. System performance , Test Scheduling, Organizational Structure
          2. Languages , Platforms, Competition
          3. System Context , User Populations, User Tasks,
          4. Verification, Formal Methods, Accuracy
          5. None of These

    27. The choice of team structure for a software development project is primarily a matter of

    a. Project requirements b. Staff characteristics c. Product characteristics

    d. Process attributes e. all of these

    28. To adequately consider the context in which the software system resides we must look at

    a. The politics of the workplace

    b. How individuals interact with each other during work

    c. The management style used in the workplace

    d. The nature and flow of work objects

    e. All of these


    29. Which of the following is not descriptive of planning.

    a. Planning is used to find credible ways to produce results with limited resources and limited schedule flexibility.

    b. Planning is finding new personnel resources to support labor intensive development.

    c. Planning is identifying and accommodating the unforeseen.

    d. Planning is blending the efforts of many people to produce a product that satisfies the customer's need

    e. Planning is negotiating compromises in completion dates and resource allocation.

    30. The information we need to capture during requirements analysis would probably not include

    a. Hiring Authority b. Communication Paths c. Synchronization

    d. Temporal Dependencies e. Data Aggregation