CpSc 371
Exam 1
Name______________________________________________
Answer any FOUR of the five questions. Place a large X on the question you are omitting. If you answer all five, the one on which you score the best will NOT be counted. All questions are counted the same: 25 points each. Answer all parts of each question.
You can not have a laptop in the exam. You may have the textbook, class notes, handouts, copies of submitted homework. You have from 2pm until 3:15pm for the exam.
a.
Some of the domain information comes
from users of systems similar to the one to be built. Where else does the data
for analysis come from?
b.
What does the context diagram contribute
to the domain analysis?
c.
How does the domain analysis contribute
to specifying a specific system?
d.
List at least 3 interfaces in the OBD
system. What domain information is important to capture about each?
a. Domain
experts, standards documents, other similar products, customers,
b. The
context diagram constrains what will be considered during the analysis.
c. The
concepts in a domain analysis are the first level of building blocks for the
system they provide relationships that form connections; they provide
fundamental states
d. OBD2Phone
– what information will be available from the vehicle, accuracy of the data
OBDDongle2OBDPlug
– which pins are active; which bus is accessed
Phone2Cloud
– authentication,
Cloud2Phone
– authentication (different from above),
2. Elicitation
is the step in requirements engineering when data is collected.
a.
How is information gathered during
elicitation captured and organized?
b.
The elicitation process says to look for
“implications, inconsistencies, and unresolved issues.” Give examples of each
of these using our running example.
c.
When interviewing one of the steps is
selecting whom to interview. List at least 2 specific roles that should be
interviewed. Justify each one.
d.
What is the difference (do not define
each one) between functional and non-functional requirements?
a. It can be modeled using UML diagrams such as class, state, and sequence diagrams.
b. Implication –a specific vehicle make and model determines which pins, codes, etc are active
Inconsistency-the devices that will be in the middle between the OBD and cloud may have very different capabilities
Unresolved-what type of cloud interface will be used?
c. Domain expert-they can give abstract knowledge
Customer-they have specific needs and constraints
d. The scope of the impact on the code
a. Describe at least 2 error types that are characteristic of the OBD example.
b. FODA centers on features. How do features different from requirements?
c. We use use cases as one approach to writing down requirements. What types of information can be captured in use cases? How is that information used to build the system?
d. An interface specification describes the interaction between entities. What is the connection between the interface state machine and the pre/post-conditions of individual contracts for each function?
a. NoData-maybe the Bluetooth connection was broken
BadValue-perhaps a bus error introduced into the stream
b. Both define program capabilities but requirements go further
c. Use cases define what the user of the system should be able to do. It defines some requirements
d.
The individual contracts correspond to the transitions
in the state machine.
a. Which UML diagrams did you use to capture the information in the domain? Describe the types of information you captured using each one?
b. Why is partitioning a useful operation on the set of requirements?
c. Commonality/Variability analysis identifies pieces of the system that are the same and separates those that are different. Explain how the generalization/specialization relationship (inheritance) between entities in a domain analysis supports this separation.
d. Error handling is a big part of a successful requirements model. An error event arises within a module. What mechanisms are available in AADL to describe what happens when an error event is raised?
Sequence diagrams capture algorithms
State diagrams capture life cycles of entities
a) What is the purpose of a “role” in a process description, like when using EPF? Why is it better than having a “person” category.
b) The SRS is an IEEE standard. List at least 2 specific advantages of conforming to a standard even if you are not required to by the customer.
c) What information does the requirements specification provide to system users that helps document the system.
d) You created two feature models of other products. When you did that, what types of changes did you make to the feature model for your project as a result?
a. Role allows multiple people to be assigned to the same role and a single person to have more than one role
b. Experts know what to expect and where things are; the work product is likely to be more complete since it reflects the thinking of many experts that don’t work for your company
c. The relationships among the requirements
d. Add new features?, add new constraints