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

F

1. The process management premise is that a quality product is largely governed by the quality of management during development.

F

2. A software developer’s understanding of the user’s domain is only needed as we prepare for acceptance testing.

T

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

T

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

T

5. Completeness is an important quality of the requirements.

T

6. Software configuration management is usually responsible for change control.

F

7. The use of state-of-the-art practices by the US software industry is the primary reason for its world-wide market share.

T

8. Defect prevention strategies are more cost effective than defect identification strategies.

F

9. Customer’s requests for modifications are easily accommodated since software is not a concrete, physical substance.

F

10. Building the product is the only concern of software engineering.

T

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

T

12. Configuration management is a life-cycle concern.

T

13. Communication overhead is one consideration when choosing a development team structure.

T

14. People, product, process, and problem factors require consideration when determining a life-cycle model for a project.

F

15. How the intended system may modify the existing work context is established during system integration.

F

16. Validating the requirements implies we must show that each requirement was associated with a specific system model in the requirements document.

T

17. Software maintenance issues are important when the product is delivered.

F

18. To insure quality software we must establish an independent Software Quality Assurance to oversee the testing of the product.

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. Behavior, data, and information flow models are typically established during information capture in requirements analysis.

F

24. Best practices, such as those defined by the Arlie Software Council, are simple add-ons to a disciplined development activity.

F

25. The functional requirements of a software product define the only concerns for the project development team.

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.A

Quality

Assurance

a

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

2.D

Project Planning

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.C

Project Tracking and Oversight

d

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

5.H

Software

Process

e

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

6.E

Requirements Engineering

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.O

Accuracy

h

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

9.J

Correctness

i

A statement of what a system must do.

10.I

Requirement

j

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

11.G

Requirements Management

k

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

12.F

Reliability

l

Processing speed and/or response time.

13.L

Performance

m

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

14.N

Robustness

n

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

15.B

Portability

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. Expectations
      2. Languages, Development Schedule, Competition
      3. System Context , User Population, Platforms
      4. Organizational Structure, User Tasks, Performance Criteria
      5. All of These
      6. 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

        B18. 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