Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

435 Midterm1Sol

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Department of Computer Science

Southern Illinois University

CS435
Software Engineering

Midterm Exam I - Solutions


3/4/2014
(Each question is 10pts)

Name & Lastname:

1. List the key issues stressed by an agile philosophy of software engineering.

The importance of self-organizing teams


Communication and collaboration between team members and customers
Recognition that change represents opportunity
Emphasis on rapid delivery of software that satisfies the customer

1
2. What are the six steps for requirements engineering?

Inception
Elicitation
Elaboration
Negotiation
Specification
Requirements validation

3. Describe the roles of the three sections of CRC (class responsibility collaborator)
cards?

Class name identifies the data object uniquely.


Responsibilities are the attributes and operations for the class.
Collaborators are those classes required to provide a class with information
needed to complete a responsibility.

4. Why are evolutionary models considered by many to be the best approach to


software development in a modern context?
Because time lines for the development of modern software are getting shorter
and shorter, customers are becoming more diverse (making the understanding
of requirements even harder), and changes to requirements are becoming even
more common (before delivery), we need a way to provide incremental or evo-
lutionary delivery. The evolutionary process accommodates uncertainty better
than most process models, allows the delivery of partial solutions in an orderly
and planned manner, and most importantly, reflects what really happens when
complex systems are built.

2
5. List the types of models that might be used in requirements modeling and
explain the role of each type of model

Scenario-based (system from the users point of view)


Data (shows how data are transformed inside the system)
Class-oriented (defines objects, attributes, and relationships)
Flow-oriented (shows how data are transformed inside the system)
Behavioral (show the impact of events on the system states)

6. Describe the principle of information hiding as it applies to software design.


The principle of information hiding implies that modules only share information
with each other on a need to know basis to achieve some specific software
function. Hiding enforces the procedural constraints to both the module pro-
cedural detail and any data structures local to the module.

7. List three areas in which process models may differ from one another.

Overall flow and level of interdependencies among tasks


Degree to which work tasks are defined within each framework activity
Degree to which work products are identified and required
Manner in which quality assurance activities are applied
Manner in which project tracking and control activities are applied
Overall degree of detail and rigor of process description
Degree to which stakeholders are involved in the project
Level of autonomy given to project team
Degree to which team organization and roles are prescribed

3
8. What is the relationship between requirement analysis design and design mod-
eling? Explain in details.
A bridge between requirements and design. Scenario, flow, behavior and class-
based design in requirements analysis can be used to make a transition to the
components of design including architecture, interface, data and component
designs.

9. What are the contents of a use case?


Actor, goal, pre-condition, description, post-condition, etc.

4
10. The following question is in reference to a hypothetical Gas Station that will
be used to help manage an American-style gasoline or service station. Our
hypothetical gas station control system (GSCS) basically provides two services:

There is a small store that carries car parts. Inside the store is at least one
cash register, operated by a cashier who is an employee of the gas station.
There are a number of gas pumps, at which customers can park their cars,
interact with the system to pay via credit card, and then pump their own
gas. Alternatively, the customer can pay for his or her gas via cash or
credit card by going into the store and paying directly to the cashier.

Provide two use cases regarding the GSCS. Describe the contents of these use-
cases briefly.
Answers vary: Describe two use cases one for purchasing a part and the other
for purchasing gas. List name of actors, goals, and brief description.

You might also like