CIS 3300 Spring 99 Midterm Review
The midterm will be closed book (no notes, calculators, etc.)
Questions will be taken from the readings, lecture notes, and in-class
discussions.
Answers will consist of definitions, illustrative examples, and demonstration
of analysis methods.
You will be asked to create small UML diagrams. You MAY use Systems
Architect during the test but are not required to.
Total points: 100
Readings
Larman, Applying UML and Patterns chapters 1-14 & 37.
Systems Analysis
- Where does analysis fit in the software development lifecycle?
- What is the waterfall vs the spiral model of development?
- What are some of the problems in developing software? Why is
it difficult?
- What are specifications?
- What is modeling?
Problem Analysis
- Why do so many software development projects fail?
- Define terms: Problem Analysis, Production Specification
- Define and illustrate: Business Objective
- What is the difference between rationale, requirements, and system
description levels?
- Define the term Traceability.
- Be able to write rationale.
- What are the characteristics of a system?
Requirements Engineering
- Describe Requirements Ambiguity. What are the sources of
Requirements Ambiguity?
- Describe the four phases of Requirements Engineering processes.
- Describe how control of "requirements leakage" can help manage
development (costs, time-table, etc.).
- Define and illustrate: Requirement, Functional/Non-Functional
Requirement. Give examples.
- Define the term: Software Requirement Specification. Be able to
give examples of good specifications.
- How does the cost of ambiguity in the requirements phase affect
the overall cost of the project?
- How can development attributes (e.g., Risk, Priority, Development
State) of requirements be used to control the development process?
- What is "shooting at a moving target" and how does it affect the
development cycle?
- Define four good properties of requirements.
Use Cases
- Describe and illustrate the purpose of a Use Case and Use Case Diagram.
- Describe and create the documentation for a Use Case.
- Describe and illustrate the relationship between a Use Case and
Requirements.
- Describe benefits that are derived directly from using Use Cases.
Conceptual Modeling
- Describe and illustrate the purpose of a Conceptual Model.
- Describe and give examples of a concept from a problem domain and
a solution domain.
- Describe and illustrate: Class, Class Instance, Attribute, Attribute
value, Operation, Association (including multiplicity).
- Compare the traditional structured view of analysis with the object
oriented view.
- Define message and method.
- What is a thread of execution? Give an example.
- What are the qualities of concepts and associations?
- Create a conceptual model given a set of requirements or use cases.
System Behavior
- Describe and illustrate the purpose of a Sequence Diagram.
Describe its relationship to a Use Case.
- Create a sequence diagram from Use Case documentation.
- Describe and illustrate the purpose of an Operation Contract.
Describe the relationship of an operation to a Sequence Diagram Event,
or a Class Operation.
- Create an operation contract from use case documentation and
a sequence diagram.
Inter-Model Relationships
- Be able to describe how each UML diagram and technique relates to
each other
- Be able to describe how specific elements on an UML diagram relates
to elements in other UML diagrams