CS3733-E04: Midterm Study Guide
The following guide provides some help in the type of things you are expected
to know in order to be able to pass the midterm exam. The guide is broken down
into specific topic areas containing either sample questions or a statement
of what you should know. It is assumed that you have attended class, read the
assigned sections of the book, done your homework, and have looked at the slides
from the lectures. Previous midterm exams are: B03,
D04.
Overview and Basic Principles
- What is software engineering?
- What makes software engineering different than other types of engineering?
- According to Braude, what are the four "P's" of software engineering?
- What are the major activities in software engineering?
- Of people, process, and tools, which is most important to the success of
a project? Why?
- What is UML? What are the benefits of using UML?
Process and Project Management
- What are the two major types of software process development lifecycles?
- What are the benefits of iterative (spiral) lifecycles?
- What do we mean by iterative development?
- What do we mean by incremental development?
- What are the four phases in RUP (UP)? Describe the purpose / activities
in each.
- Describe the waterfall lifecycle. What are the fundamental flaws in it?
- How does the rate of change (in the requirements, users, marketplace, etc.)
affect the choice of a process?
- What is the difference between iterations and phases?
- Given a project description, outline a project plan, showing iterations
and phases?
- What is project management?
- Name (n) artifacts the project manager is responsible for.
- What are the key project management activities?
Requirements
- What is the purpose of a Vision?
- What is the difference between functional and non-functional requirements?
Give an example of each.
- What is a use case?
- What does FURPS mean?
- What are C-requirements and D-requirements?
- What is the concept of traceability?
- What is an Actor in a use case?
- What is the basic flow and alternate flows in a use case?
- What are user stories?
- How are user stories different from use cases?
- What is a scenario? How is it different from a use case?
- What makes a requirement a good requirement?
- What do we mean by stakeholders? Give examples.
- Where do requirements come from?
- What is the purpose of a sequence diagram?
Analysis and Design
- What is analysis?
- What is design?
- What are the three types of analysis classes and what do they describe?
(Entity, Boundary, Control)
- What UML diagrams are most useful for analysis? (Sequence / Collaboration)
- Know how to convert a sequence diagram to a collaboration diagram and vice-versa.
- What is the purpose of textual analysis? Know how to perform textual analysis.
- What are CRC cards?
Quality
- What type of tests are programmers typically responsible for?
- Why can't you test everything?
- What is test-first (or test-driven) development / design? What type of tests
do you use it for?
- Know how to write a JUnit test.
Modified:
09-Jun-2004
Gary Pollice