Software Engineering Review
Study class notes
Study chapter presentations
Chapter 1: Introduction
Types of software
Importance of reusability
Impact of the timeliness of change
Analysis and synthesis in software engineering (Bloom and Polya)
Garvin’s perspectives on quality
Factors altering the software engineering process
Wasserman’s basis for quality software engineering
The value of “personal opinion” (remember the skit)
What are some of the major characteristics of software that make it different from a
manufactured product? Why is software expensive?
Software is a set of items or objects that form a configuration that includes ___________,
____________, and ____________.
Draw the real and ideal failure curves for software? What factors cause the real curve to
diverge from the ideal curve?
How do we catch errors in a cost-effective manner?
What is the software crisis? What challenges do software engineers face?
What is software?
Define software engineering. What is the difference between just writing software and
Define system as it pertains to software engineering.
Discuss the validity of the following statement: “If we get behind schedule, we can add
more programmers and catch up.”
List 6 types of software (i.e. real-time software). Briefly describe each.
The most expensive part of the software development process is ______.
Software unlike traditionally manufactured products does not ______.
_______ view of quality is that it is something we recognize but can't define.
_____________ view of quality depends on customer's willingness to pay.
Chapter 2: Process
TQM – Total Quality Management – Quality focus
Software Process Models
Linear Model (waterfall model)
Reasons for using a process model
Desirable properties for process models
Describe 3 software process models.
List and briefly describe 3 of the process models discussed in class. Draw a diagram of
each and discuss pros and cons, compare and contrast, and provide examples of projects
for which it would be well suited for each model.
Describe the RAD model.
Describe the Spiral model.
What does CASE stand for?
What are the advantages and disadvantages of the linear model of software development?
List 5 software process models and describe 2 iterative models in detail.
What advantages are there in using process modeling in Software Engineering?
R.A.D., a type of process modeling, stands for ___________________.
A ______________ (process) can be defined as a set of ordered tasks/steps involving
activities, constraints, and resources that produce an intended output of some kind.
The four phases of the linear model are ____________________,
____________________, ____________________, and ____________________.
Chapter 3: Project Planning
4 P’s: People, Project, Process, Product
Project personnel (who and how to choose)
MOI model of leadership (Weinberg)
Project leader characteristics (Edgemon)
Melding People, Project, Process, Product
Group Problem Solving Zig-Zag
Type of groups (team paradigms): Democratic Decentralized, Controlled
Decentralized, Controlled Centralized (Mantei)
Enrollment Management Model
Important questions for project success
Project deliverables, activities, milestones
Critical path and slack time
Formal Technical Reviews: meetings, roles, and guidelines
What is the purpose of Formal Technical Reviews?
Describe Democratic Decentralized, Controlled Decentralized, Controlled Centralized
What are the principle group types? Describe each.
What are the 4 P’s? Which is the most important and why (back up your perspective)?
*** Given a particular situation how should a project leader respond.
Describe the role of the project leader.
Describe the relationships between the producer, customer, and end-user as it relates to
Discuss the MOI model of leadership and how it can affect the productivity of a
The ______ metrics are best suited for object-oriented applications.
If you can’t measure it, you can’t ______________ it.
Define, compare, and contrast KLOC and FP metrics. What are pros and cons of each?
________________ = available time - real time.
With a large number of unskilled workers, the ______ organizational paradigm would be
A software’s context, information objectives, function, and performance expectations
determine its ______.
What are the 3 strategies for avoiding risk?
What are questions that a project manager should ask when evaluating the project risks?
What is the purpose of risk analysis?
How can a risk management plan improve the outcome of particular project and the
Name some generic categories of risk. Provide examples of each.
The ______ team structure has no set leader though there may be task coordinators.
The ______ team structure may be useful for innovation but may lack the structure to
foster orderly performance as required in some projects.
The ______ team structure retains some of the control of the closed paradigm while still
fostering some of the innovation that occurs in the random paradigm.
A ______ type groups structure a team along traditional hierarchy of authority.
A software ______ provides the framework from which a comprehensive plan for
software development can be established.
The four P’s are ______, ______, ______, and ______.
The ______ are the people who interact with the software once it is deployed.
Specifically explain how a Gantt chart can assist in the effort to deliver software on time.
Define critical path and its importance. Explain how it can change during a project.
What are the similarity between building a house and a software?
Explain Weinberg’s model of leadership and Edgemon’s project manager characteristics.
Chapter 4: Requirements and software quality assurance
Requirement: a feature of the system or a description of something the system is capable
of doing in order to fulfill the system’s purpose
Three kinds of requirements:
those that absolutely must be met
those that are highly desirable but not necessary
those that are possible but could be eliminated
Requirements definition: complete listing of what the customer expects the system to do,
includes general purpose, background and objectives of system, description of customer-
suggested approach, detailed characteristics, and operational environment.
Relationship between software developers and users/customer (sometimes troublesome)
Requirements specification: restates the definition in technical terms so that the designer
can start on the design
Functional vs. non-functional requirements
Formal Technical Reviews: meetings (cost-efficient), roles, and guidelines
What is the purpose of Formal Technical Reviews?
Software configuration management
SCM terms: release, revision, baseline, version, variant (alternative to a particular
version), version control, build, deltas, engineering change order, engineering change
Define requirements definition and requirements specification.
How would assist customers and software engineers in having an effective working
What are the roles of the participants at a Formal Technical Review?
What is the role of a SQA group? -or- What is the purpose of SQA?
Name 5 guidelines for FTR.
Chapter 5: Designing the System
Decomposition and modularity
Architectural styles (conceptual design and technical design) and methods of
3 levels of design: architectural, code, executable
Design issues: modularity, collaboration, user interface, and reusability
Characteristics of good design: loose coupling, high cohesion, fault prevention
UML (class notes)
Class diagrams: data, operations, cardinality, multiplicity, relations, associations
State diagrams, activity diagrams
Use cases and use case diagrams
What is the difference between analysis and design?
What are the two styles of Architectural Design documents and how do they differ?
Name three design levels and describe each.
architecture - associates system components with capabilities
code design - specifies algorithms and data structures for each component
executable design - lowest level of design, including memory allocation, data
formats, and bit patterns
Describe 4 UML diagrams and what they are used for.
Define cohesion and coupling.
When a module performs one and only one well-focused task the module possesses a
high degree of ________.
When a great deal of information is passed and shared between modules, the system
possesses a high degree of ________.
_______ is a measure of system interconnection among software modules.
Draw a simple example for each of the four UML diagrams that we used in class.
Later course topics from Chapter 3:
Boehm’s top ten risk items (no need to memorize but it is important to be familiar with
top risk items)
Reactive vs. Proactive Risk Strategies
LOC versus FP metrics
Examples of metrics related to LOC and FP
Project estimates – what do we need to estimate?
Cocomo: Basic Model (be familiar with method)
FP methodology (be familiar with basic approach)