SE 325/425 Exam Review Guide

SE 325/425 Exam Review Guide

SE 325/425 Final Exam Review Guide

SE 325/425 Final Exam Review Guide:

All materials covered in the lectures will be included as potential exam questions. The questions will definitely include topics that we have covered since the midterm, but may also include topics from the first half of the course. (I.e. there will be bias toward untested material from the last few lectures.)

Exam format:

Expected duration: 1½ hours.

Maximum time allowed 3 hours.

The final exam will consist of 5-10 questions. Some of them may have multiple parts.

The exam is CLOSED BOOK, one page (2 sides 8 ½ x 11) of notes are allowed.

Topics covered (all ten lectures):

Project Success/Failure

  • Project success factors (Standish report)
  • Life cycle models (pros and cons of various SDLCs)
  • Phases
  • Cost to fix defects
  • Iteration & incremental development

Requirements

  • Functional vs. non-functional requirements
  • Elements of the requirements process (elicitation, analysis etc)
  • Stakeholder identification
  • Elicitation techniques
  • Context models
  • Use case diagrams
  • Requirements qualities

Project Planning

  • Project planning techniques (PERT, GANTT, and WBS). Be sure to understand the correlation between these three methods, and how to determine critical paths etc.
  • The relationship between estimation accuracy and project completion.
  • Commonly used project metrics such as test coverage.
  • Lines of code, estimation, weaknesses etc.
  • Function points.
  • Effort estimation

Change Management

  • Elements of Software configuration. (SCIs etc)
  • Baselines
  • Formal technical reviews
  • Evolution graphs
  • SCM techniques (full copy, recent copy + changes)
  • Version control and its characteristics (reusability, safety, liveness)
  • Change control
  • Access and synchronization control
  • Branching and merging.

Usability Design aka UI Design

  • Aspects of usability
  • Design strategies
  • Ability to critique a user interface and identify good and ‘bad’ properties.
  • Design evaluation

Design Quality

  • Modular design
  • Cohesion
  • Coupling
  • Design heuristics
  • Design metrics (LOC, CC, WMC, RFC, COB, DIT, NOC, LCOM)

Structured Analysis

  • Elements of structured analysis (ERD, PSPEC, CSPEC)
  • Data flow diagrams
  • DFD extensions for real-time.
  • Relationship between data and control models.
  • Petri nets
  • Data dictionary

Testing

  • Verification vs. validation
  • Who should test.
  • Test coverage metrics
  • Testing strategies
  • Unit testing
  • Integration testing (bottom up, top down, sandwich testing)
  • Regression testing
  • Qualities of a good test
  • Black box testing techniques, equivalence partitioning, boundary value analysis.
  • White box testing, basis paths, flow graph notation, deriving test cases from basis paths, loop testing.
  • Random testing, mutation analysis, equivalent term testing (only need to know what this is – NOT how to specify a program using algebraic specification.)
  • OO testing methods.

Risk Management

  • Team models
  • Risk management
  • Elements of risk
  • Risk reduction strategies
  • Risk categorizations
  • Types of risk
  • Risk Mitigation, Monitoring, and Management.

Design and Architecture

  • Design levels (data/class, architectural design, interface, component).
  • Design patterns (What are they?)
  • Architectural design (common styles)
  • Architectural frameworks
  • Design concepts (stepwise refinement, refactoring, design classes, abstraction)
  • Engineering for critical systems
  • Software Performance

Sample Questions

The following types of questions are good examples of the types of questions I may ask in the final. MORE emphasis will be placed on topics from the second half of the course, however any topic may be covered.

This is not an exclusive list.

  1. Given a simple system, do a safety analysis: a fault tree analysis, requirements and design constraints
  2. Given a code snippet create a flow graph, calculate Cyclomatic complexity, and derive a set of basis paths.
  3. Draw a level 0 and/or level 1 DFD for a given system.
  4. Compute product metrics for a given system. (I would provide you with either a high level diagram or simple pseudocode).
  5. Create a simple PERT chart for a given project and identify the critical path.
  6. Given the relevant information about inputs, etc., and adjustment factors, calculate the function point metric for a project.
  7. Describe your favorite software metrics, what they are used for and how can they help with software quality.
  8. Given the information in the following table that represents activities in a GANTT chart: (8pts)

Activity / Immediate Follower / Estimated Time
A / B,C / 10
B / End / 8
C / D / 6
D / End / 3
E / G / 5
F / G / 3
G / End / 12

The time for the critical path is:

  1. 20 days
  2. 18 days
  3. 19 days
  4. 27 days
  5. None of the above.
  1. A project was estimated at 352 Function points. A four person team will be assigned to this project consisting of an architect, two programmers, and a tester. The burdened labor rate of the architect is $8,000 per month, the programmers $6,000 and the tester $5,000. The average productivity for the team is 8 FP per person month. Which of the following represents the projected cost of the project? (8 pts)
  2. $281,600
  3. $209,000
  4. $269,500
  5. $275,000
  6. None of the above.
  7. A given project has 5 user inputs, 10 user outputs, 7 inquiries, 5 files, and 3 external interfaces. All of these are average complexity EXCEPT 2 of the inputs are complex, two of the outputs are complex, and one of the outputs is simple. Adjustment factors are all moderate except that the system will require a significant amount of online data entry, and it is essential that the code is designed with reuse in mind. Calculate the number of Function Points for this system. (Show all your work).
  8. Function points =(6 points)
  9. What are the primary advantages of using Function points over LOC metrics? (4 points)
  10. What are the primary disadvantages? (4 points)
  1. Given the information in the following table that represent activities in a GANTT chart:

Activity / Immediate Follower / Estimated Time
A / E / 6
B / F / 5
C / D,G / 8
D / F / 4
E / End / 5
F / End / 10
G / End / 10

The time for the critical path is:

a. 20 days

b.11 days

c.18 days

d.19 days

e.None of the above.

  1. A project was estimated at 385 Function points. If the average productivity per person is 7 FP per person month, the average salary per employee is $2,000 per month and the burdened labor rate is $6,000 per month. Which of the following represents the projected cost of the project?
  1. $330,000
  2. $110,000
  3. $269,500
  4. 440,000
  5. None of the above.
  1. Given the following optimistic, likely, and pessimistic lines of code, what is the approximate estimated lines of code for the control center?

Major Software Functions / Optimistic / Most Likely / Pessimistic
Interface with sensors and user / 1,500 / 2,300 / 3,100
Control center / 3,800 / 5,200 / 7,200
Alarm activation / 4,600 / 6,900 / 8,600
  1. 5,400
  2. 4,333
  3. 5,300
  4. 5,200
  5. None of the above

1 of 5Rev: 4 June 2008