(a) [Problem Statements – 5 marks] For complex software systems, it is useful to write a description of the problem to be solved separately from any description of the proposed solution. Give three reasons why a separate problem description is useful. Why is it hard to write a problem description without also thinking about the proposed solution?
A separate problem statement is useful because:
- it allows you to check with the stakeholders that you have understood their
problem correctly
- it allows you to evaluate different design choices with respect to how well they
solve the problem
- it provides a good source of test cases.
It is hard to separate the problem statement from the solution because the problem will evolve as you attempt to solve it, and because people might not know what problem they have until they consider some possible solutions
(b) [Risk Management – 5 marks] In order to assess which risks are the most important, it is common to calculate risk exposure, which gives a simple numeric value for each risk, allowing them to be compared. How would you calculate risk exposure for common software development project risks?
Risk exposure is calculated as the size of the potential loss times the probability of occurrence. To compare risks, the estimates of size need to be comparable, so it is common to use either a dollar value, or a simple 5-point scale.
For a software development project risk, e.g. risk of key personnel leaving the project:
-
- estimate the size of the loss. E.g. add up the cost of delay plus the cost of
finding a replacement. Express these as dollar values.
-
- Estimate the probability of occurrence as a number between 0 and 1. Staff
turnover data from previous similar projects could be used to get a good
estimate.
-
- Multiply size of loss and probability to get a number for risk exposure.
CSC340 Requirements Engineering page 3/8
(c) [Economic Feasibility – 5 marks] Net Present Value measures the total value of an
investment over its lifetime. Why is it useful to know the Net Present Value of a proposed
software development project? How would you calculate the Net Present Value of a proposed
project?
It is useful to know the net present value of a software project, as it helps you to determine whether the project offers a good investment (compared to other alternatives, or other ways of using the resources). Net present value includes all the expected benefits from future years, all expressed in today’s dollars. This makes it possible to compare options that have a different payback period.
To calculate Net Present Value for a proposed project, you need to estimate all the benefits that it will deliver and all the costs that will occur in each year of its expected operational life. Express these all in dollar values, and adjust each year’s figures into today’s dollars using the (industry-specific) discount rate.
The Net Present Value is then calculated as the total cumulative present value of all the benefits, minus the cumulative present value of all the costs.
(d) [UML Activity Diagrams – 5 marks] Give two examples of information about a problem domain that can be captured in UML Activity Diagrams, and two ways in which these diagrams can be useful for Requirements Analysis.
Examples of info represented:
(1) Activity diagrams show how tasks depend on one another in a business process. For example, they can show that some tasks can be carried out in parallel, while other tasks have to be synchronized so that one doesn’t start until the tasks on which it depends are complete.
(2) Activity diagrams show the flow of activity between different business units, using swimlanes. In other words, they show how different business units must work together to carry out some process.
Activity diagrams are useful in requirements analysis (1) to understand the existing business processes, showing how an organization currently solves the problem, and (2) for sketching proposed solutions to the stakeholders to show how a proposed solution would change the way in which the organization works.
It is useful to know the net present value of a software project, as it helps you to determine whether the project offers a good investment (compared to other alternatives, or other ways of using the resources). Net present value includes all the expected benefits from future years, all expressed in today’s dollars. This makes it possible to compare options that have a different payback period.
To calculate Net Present Value for a proposed project, you need to estimate all the benefits that it will deliver and all the costs that will occur in each year of its expected operational life. Express these all in dollar values, and adjust each year’s figures into today’s dollars using the (industry-specific) discount rate.
The Net Present Value is then calculated as the total cumulative present value of all the benefits, minus the cumulative present value of all the costs.
(d) [UML Activity Diagrams – 5 marks] Give two examples of information about a problem domain that can be captured in UML Activity Diagrams, and two ways in which these diagrams can be useful for Requirements Analysis.
Examples of info represented:
(1) Activity diagrams show how tasks depend on one another in a business process. For example, they can show that some tasks can be carried out in parallel, while other tasks have to be synchronized so that one doesn’t start until the tasks on which it depends are complete.
(2) Activity diagrams show the flow of activity between different business units, using swimlanes. In other words, they show how different business units must work together to carry out some process.
Activity diagrams are useful in requirements analysis (1) to understand the existing business processes, showing how an organization currently solves the problem, and (2) for sketching proposed solutions to the stakeholders to show how a proposed solution would change the way in which the organization works.
CSC340 Requirements Engineering page 4/8
2. [State Modelling – 20 marks] The following SCR Mode Table describes the required
behaviour of a car’s cruise control system. Draw a UML StateChart Diagram to show the same
information. Use superstates (where appropriate) to simplify your diagram, and be sure to label all
transitions with the relevant events and conditions.
CSC340 Requirements Engineering page 5/8
3. [Class Diagrams – 20 marks] Draw a UML Class Diagram representing the following
elements from the problem domain for a hockey league. A hockey league is made up of at least four
hockey teams. Each hockey team is composed of six to twelve players, and one player captains the team.
A team has a name and a record. Players have a number and a position. Hockey teams play games
against each other. Each game has a score and a location. Teams are sometimes lead by a coach. A coach
has a level of accreditation and a number of years of experience, and can coach multiple teams. Coaches
and players are people, and people have names and addresses. Draw a class diagram for this information,
and be sure to label all associations with appropriate multiplicities.
Notes: captain could alternatively be represented as a second, named association
between player and team.
Assumptions: each player only plays on one team, each captain only captains one team, each team only plays in one league.
Assumptions: each player only plays on one team, each captain only captains one team, each team only plays in one league.
CSC340 Requirements Engineering page 6/8
4. [Application Domains – 20 marks] Michael Jackson has proposed a conception of
requirements engineering that distinguishes machine domain phenomena from application domain
phenomena, as illustrated in the following diagram:
Application Domain Machine Domain
Application Domain Machine Domain
D - Domain Properties S - Specification
R - Requirements
P - Program
C - Computer
C - Computer
(a) [5 marks] Explain the distinction Jackson makes between Requirements, R, and Specifications, S.
What additional properties should a Specification have in order to distinguish it from Requirements?
Requirements are any properties of phenomena in the application domain that a stakeholder would like to be made true by some new system. Requirements may refer to any phenomena, whether accessible to the machine or not. Specifications are a subset of requirements, covering only phenomena that are shared between the application domain and the machine.
To distinguish it from requirements, a specification must be expressed only in terms of inputs and outputs to the machine, i.e. phenomena that are shared between the machine and the application domain
(b) [5 marks] Give examples of R, D, S, C and P for a particular problem domain.
Many possible answers – marks given for demonstration of the key distinctions. The example
given in class was:
For an aircraft
R – “Reverse thrust should be disabled unless the aircraft is moving on the runway” D – “pulses from the wheel sensors will be received only when the aircraft is moving on the runway”
S – “reverse thrust should be disabled unless wheels sensor pulses are on”
P – the flight control software that takes commands from the pilot’s controls and makes the aircraft do things, written according to specification S.
C – the flight computer (hardware) on the aircraft
Requirements are any properties of phenomena in the application domain that a stakeholder would like to be made true by some new system. Requirements may refer to any phenomena, whether accessible to the machine or not. Specifications are a subset of requirements, covering only phenomena that are shared between the application domain and the machine.
To distinguish it from requirements, a specification must be expressed only in terms of inputs and outputs to the machine, i.e. phenomena that are shared between the machine and the application domain
(b) [5 marks] Give examples of R, D, S, C and P for a particular problem domain.
Many possible answers – marks given for demonstration of the key distinctions. The example
given in class was:
For an aircraft
R – “Reverse thrust should be disabled unless the aircraft is moving on the runway” D – “pulses from the wheel sensors will be received only when the aircraft is moving on the runway”
S – “reverse thrust should be disabled unless wheels sensor pulses are on”
P – the flight control software that takes commands from the pilot’s controls and makes the aircraft do things, written according to specification S.
C – the flight computer (hardware) on the aircraft
CSC340 Requirements Engineering page 7/8
(c) [5 marks] Using Jackson’s conceptual model, explain why checking that a program meets its
specification is not a sufficient test of fitness-for-purpose.
Even if a program meets its specification, the specification could still be wrong: o The specification could fail to express the requirements;
o The requirements themselves may not adequately capture what the
stakeholders really want/need;
o Assumptions made about the domain might be wrong, so that the reasoning
that associates input and output events to domain phenomena is wrong.
In any of these cases, the program will not suit its purpose well, assuming that the purpose is to solve the stakeholders’ problem(s).
Even if a program meets its specification, the specification could still be wrong: o The specification could fail to express the requirements;
o The requirements themselves may not adequately capture what the
stakeholders really want/need;
o Assumptions made about the domain might be wrong, so that the reasoning
that associates input and output events to domain phenomena is wrong.
In any of these cases, the program will not suit its purpose well, assuming that the purpose is to solve the stakeholders’ problem(s).
(d) [5 marks] Suggest two techniques that you would use for checking whether statements of the
Requirements, R, and Domain Properties, D, are valid.
Any of the following are acceptable:
(1) Modelling – build a model (e.g. statechart, class diagram, etc) that captures your understanding of R and D, and then analyse it to check that it has the right properties, e.g. check it against scenarios or sequences of events that you know should or should not occur.
(2) Stakeholder interviews or questionnaires – ask stakeholders directly whether they agree with statements of R and/or D.
(3) Prototyping – build a quick and dirty version of the system based on your understanding of the requirements, and show it to the customer, to find out whether it really does solve the right problem, and whether the assumptions you made about the domain are correct.
(4) Inspection – document all your statements about R and D, and then hold a formal inspection meeting, with key domain experts and stakeholders participating.
Any of the following are acceptable:
(1) Modelling – build a model (e.g. statechart, class diagram, etc) that captures your understanding of R and D, and then analyse it to check that it has the right properties, e.g. check it against scenarios or sequences of events that you know should or should not occur.
(2) Stakeholder interviews or questionnaires – ask stakeholders directly whether they agree with statements of R and/or D.
(3) Prototyping – build a quick and dirty version of the system based on your understanding of the requirements, and show it to the customer, to find out whether it really does solve the right problem, and whether the assumptions you made about the domain are correct.
(4) Inspection – document all your statements about R and D, and then hold a formal inspection meeting, with key domain experts and stakeholders participating.
MIS 3510, Midterm Exam, Fall 2010
Answer and Marking Key
1. A real estate company sells houses and condos (apartments). The company’s listings management system stores evidence of listings. A listing contains the property address, image, year it was built, area, and price. In case of houses, people usually want to know the number of floors, size of lot, and basement characteristics. For condos, the sizes of storage and of balcony are distinguishing characteristics.
The company’s system associates listings with agent records. These include name, address, and employment start date. A single agent manages a number of listings at a time. While a listing is usually managed by a single agent, sometimes it happens that a listing is transferred from one agent to another. It is recorded when an agent starts and ends to manage a listing. Based on this description, draw a class diagram. You do not need to make any assumptions or to specify multiplicity. (9 marks)
Item
|
Mark x Items
|
Total
|
Class, ordinary or sub-class (Missing attribute,
key not marked = -0.15; naming error= -0.25 )
|
1 x 4
|
4
|
Association Class
|
2 x 1
|
2
|
Association (name missing= -0.15)
|
0.5 x 4
|
2
|
Generalization-Specialization Association indicated
|
1 x 1
|
1
|
TOTAL
|
9
|
2. The system for managing listings in a real estate company cited in question 1 is used by the real estate agents and managers on the daily basis. To be able to do any job with the system, any user must first have their credentials verified by the system. An agent can create a listing and then retrieve it later when needed. Some agents can update listings as well. A listing update becomes complete only after a manager approves it. Managers can get listing reports from the system. They can also remove a listing to an archive file or, when the company ceases to market a property, to a trash can (deletion). Based on this description, draw a use case diagram. (9 marks)
3. When a contractor buys materials at Quality Building Supply, he takes it to the contractor checkout desk. The clerk enters the contractor name into a point of sale system (the system). The system displays the contractor record, including his current credit standing. The clerk then opens up a new sales record for the contractor. Next, the clerk scans in the number of the item to be purchased into the system. The system finds the price and product name, then displays these on the screen and adds the item to the sales record. In turn, the clerk enters the quantity of the item.
When all items are scanned, the clerk ends the sale. The system calculates the total and checks it against the contractor’s credit limit. If the limit is not reached, the system updates the contractor’s account by subtracting the amount of the sale from the credit available. If the credit limit is reached, the clerk is alerted to ask for a cash payment. If the contractor does not wish to pay in cash, the clerk cancels the sale. Successfully closed sales are finalized so that the system
prints a receipt. Use all the details provided to create an activity diagram of the Quality Building Supply’s contractor sale process.
Marks:
Element Marked
|
Marks Each
|
Elements
|
Partials
|
Total Marks
| |
Step (name, place in flow, swimline)
|
0.5
|
13
|
yes
|
6.5
| |
Decision point (name, choices)
|
1
|
2
|
yes
|
2
| |
Loop (any representation)
|
2
|
1
|
yes
|
2
| |
Swimline (name correct)
|
0.5
|
3
|
no
|
1.5
| |
Note: negative marks for missing smaller symbols (start/end point, arrows, etc.)
| |||||
SUM
|
12
| ||||
True/False
(Note: Explanations given just for select questions.)
1. Prototyping is a necessary part of collecting system requirements via focus groups.
F. Focus groups is one method of collecting initial system requirements based on group interviewing, while prototyping is a different activity referring to constructing and implementing a rough model of some part of the system.
2. Only automated processes are included in an information system.
F. A use case can contain manual steps, such as data entry and decision making.
3. The amount of iteration in a project depends on the complexity of the project.
T
4. In a banking system, the checking of the customer’s credit history in the process of lending a loan would be modeled as an extend use case.
F. Credit history must be checked before deciding on lending a loan, this is an include case; the question is taken from the lecture on use cases and the particular figure used.
5. Associations between classes sometimes can have attributes on their own.
T
6. An internal business event is the event that happens inside a company.
F, internal business events happens inside the computer.
7. Forms and reports should be included for discussion in user interviews.
T, forms and reports track data inputs and outputs, and the core part of an IS is data
8. A break down of building into room, hall, lobby and so on can be represented by a generalization-specialization relationship.
F. This “breakdown” is a part-whole relationship since the building consists of these parts and the pars cannot exist outside of the building. However, in everyday language we use the word “breakdown” liberally, for both generalization and part-whole relationships.
9. Every use case must be linked to at least one actor.
F. Some extend and include use cases are linked to other use cases not directly to actors. Functions driven by internal events (e.g., drop in inventory quantity below a minimum) can be shown without an association with an actor.
10. In a hotel reception system, an association class is needed to show the association between rooms and guests.
T, an assignment class is needed to hold the dates of check and check out at a minimum.
11. Estimating whether a system development project can be completed with a minimum disruption of operations is part of determining economic feasibility of the project.
F. This is part of organizational or scheduling feasibility.
12. A class is assumed to know how to add a new object, update values of and report its data.
T. This fact is part of definition of class; in other words, every class contains these methods which are mirrored in CRUD use cases.
13. The actor in a use case is always a person performing a particular task.
F. Actor can be another system a piece of hardware, department, etc.
14. A single use case in a use case diagram always corresponds to a single activity diagram.
F. A use case presented by an oval in use case diagram can have different scenarios that show up in use case descriptions. Use case descriptions can describe different scenarios, and each scenario must have a different activity diagram. (The question references the master example in the textbook – The RMO customer order system, with the telephone and Web scenario that are undistinguishable in the use case diagram.)
15. In the Unified Process methodology, the term “iteration” means that the system development process repeats the activities of analysis, design, coding and others over project time, until the system is completed.
T, this is a main departure from the structured methodology
16. The intermediate use case description and the use case diagram show the same level of detail.
F. The use case description shows steps within a process (function) along with other details, while the use case diagram shows just the name of that process function.
Multiple Choice
(Note: Explanations given just for select questions.)
17. The message "drawYourself()" is sent to two types of objects. One object responds by displaying a bar chart. The other responds by displaying a photographic image. Which term best describes this system characteristic?
a. Inheritance c. Generalization
b. Composition d. Polymorphism
D
18. The Unified Process is _____ driven.
a. data model c. program
b. use case d. activity
B, part of additional information on UP; also the logic that MIS 3510 follows
19. _____ methodology is based on the assumption that each development activity should make a sequential phase in the system development process.
a. Object-oriented c. Prototyping
b. Agile d. Waterfall
D
20. In a system for managing purchasing operations, a class diagram should:
a. Link products to suppliers, and link suppliers to purchase orders
b. Link purchase orders to products, and link suppliers to purchase orders
c. Link suppliers to products, and link products to purchase orders
d. Link products to suppliers
B: Product—PurchaseOrder—Supplier is the correct model, where two master data classes are associated via a transaction data class
21. Which of the following is completed in the inception phase of the Unified Process (Object-Oriented Approach)?
a. prepare the deployment
b. resolve high risks
c. design and implement the core architecture and functions
d. produce rough estimates for cost and schedule
D. Inception phase comes first, and so the only planning activity listed is the right choice.
22. In systems analysis and design, which of the following does NOT belong to the concept of object?
a. A thing that is important to track, because it is important for business.
b. One of a series of similar items, yet uniquely identifiable.
c. A structure that can be transformed by external processes.
d. An entity based on the principle of encapsulation.
C. Data in a class can be accessed only by the methods of that class, not external functions.
23. Expenses for developing information systems are significantly reduced owing to
a. use of UML
b. observation and think-aloud technique
c. inheritance
d. encapsulation
C. Owing to inheritance system developers do not have to define each data and process segment anew, which saves development time and therefore expenses. This point is part of topics in 3510 (generalization, object orientation, class and object, etc.). UML is just a diagramming technique.
24. A(n) _____ is something to which all similar objects belong.
a. whole object c. parent object
b. class d. generalized instance
B
25. _____ refers to combining attributes and methods into one unit that hides its internal structure.
a. encapsulation c. inheritance
b. information hiding d. polymorphism
A
26. Which of the following is the action that a system analyst should include in a bank account system?
a. Mark gets a cheque for his birthday. c. Mark plans to deposit the cheque in his
bank.
b. Mark wants to buy a car. d. Mark makes a deposit in his savings
account.
D, an event affecting banking operations and its account management system
27. Which of the following is an example of a UML diagram?
a. screen layout c. use case description
b. event table d. use case diagram
D
28. The first fact-finding task for an analyst usually is to _____.
a. build prototypes
b. distribute and collect questionnaires
c. review existing reports, forms, and procedure descriptions
d. conduct JAD sessions
C
29. Inheritance relationships exist between:
a. instances and classes.
b. a superclass and subclasses.
c. a whole class and part classes.
d. attributes and methods.
B
30. Each employee has a salary, and salary is represented in a certain amount of dollars. A system analyst that translates this business fact into a system requirement should model salary as
a. class
b. process
c. attribute
d. association
b. process
c. attribute
d. association
A, an employee has salary – the association is indicated by this word. Also, salary is an aspect of reality that can be associated to other aspects (job, employee, qualification, etc.).
NOTE: Eliminated due to an very low percentage of correct answers.Short Answers (24 marks)
1. Name three feasibility aspects used in systems planning, and for each provide an example of associated risk. (4.5 marks)
Name: 0.5, Example: 1; 1.5 feasibility aspects
- Economic – costs of the system development project (further, project) can exceed plan or diminish benefits
- Technological – lacking technical expertize of staff to develop system, insufficient technical skills of users, technology quality sub-optimal, unexpected technology changes
- Organizational or cultural or political – users may oppose the system, system may impose major changes the accustomed way of operating, system may disturb distribution of power and be rejected on that ground or key decision makers may not support developed system
- Scheduling – project may not be finished on time to meet business deadlines
- Operational – project may collide with a company’s operations, or impose high opportunity costs
- Project complexity – large scope projects can bring unexpected problems of any sort (prolonging of tasks, budget overruns, cultural resistance in organizational units, lack of some technical expertise…)
2. Compare generalization/specialization and part-whole relationships in terms of three differences. (4.5 marks)
Each difference = 1.5
Generalization/specialization
|
Part-whole relationships
|
Supports inheritance
|
Does not support inheritance
|
Supports polymorphism
|
Does not support polymorphism
|
Subclasses can exist without the superclass
|
Part classes may or may not exist without the whole classes
|
The superclass class is specified (realized) through subclasses
|
The whole class is an arrangement of part classes
|
Is a way of breaking down a generic business aspect (or class) into specific categories
|
Is a way of representing what a business aspect (class) consists of, or represents a bill-of-materials
|
Contains the is-relationship
|
Has the part-of relationship
|
The relationship reads: superclass class generalizes subclasses, and subclasses specialize the superclass class
|
The relationship reads: part-classes are parts of the whole class
|
The superclass class always has just one of each subclass
|
The whole class can have any quantity of each part class
|
3. Name and compare two methods of collecting systems requirements in terms of two similarities and two differences. (5 marks)
Various combinations are possible. A good answer should have paired characteristics rather than just stating definitional aspects of each. For example:
Name = 0.5 each
|
Similarity = 1 mark
|
Difference = 1 mark
|
Interviewing
|
1. Both are used to collect system requirements in direct contact with users.
2. In both methods, the requirements collector actively partakes in the user’s context.
3. Requirements collector’s behaviour may influence user’s behaviour
3. Both are focused on individuals.
|
1. Uses verbal communication for requirements collection
2. From the user perspective, more natural than observation.
|
Observation
|
1. Uses watching and listening for requirements collection
2. From the user perspective, less natural than interviewing and may significantly alter user’s behaviour
| |
Survey
|
1. Both are suitable for leaning about a limited rather than exhaustive scope of user needs.
2. Both directed toward a group of users.
|
1. Uses written communication, thus indirect contact with users
2. Individual respondents
3. Uses larger samples
4. Results in quantitative data
|
Focus groups
|
1. Uses verbal communication in direct contact with users
2. Respondents in a group
3. Smaller samples
4. Results in qualitative data
|
4. List four characteristics of the object-oriented methodology of systems development you study in this
course. (4 marks)
Each characteristic = 1 mark
Development runs in four phases, or phases could be named (inception, elaboration, construction, transition/cutover). Each phase has several iterations of development activities.
Each iteration consists of a sequence of development activities, or naming the main activities (planning, analysis, design, implementation, testing, and revision.
Each development activity appears in all the project phases.
The development is faster than with traditional methodologies.
The system is built piece by piece and each finished piece is functional.
The object methodology is adaptive.
The object methodology is appropriate when system characteristics and development technologies are not fully known.
Uses UML notation or diagrams.
5. Discuss what systems analysis and design is about by focusing on three items that, in your opinion, best characterize the concept. (6)
Each item = 2 marks
The following definition can be parsed out into several simple sentences or phrases:
Systems analysis and design (SA&D) is about analyzing business in order to understand information needs (or users’ needs, or business needs) and existing information systems in order to design information system solutions for improving business or to improve information systems (or upgrade/build IS).
Post a Comment