Fall 2006

3510 Midterm Solution and Marking Key

1. Maximum Software is a developer of fourth generation programming languages. In order to support its customers, Maximum Software provides a help desk based on a toll free telephone line.

When a call comes in, the customer is routed to the first available consultant. This consultant has a general knowledge of information systems and Maximum’s products that enables this person to answer simpler questions. The consultant always uses a database of questions and answers in providing help. If the consultant concludes that the customer’s inquiry necessitates knowledge beyond help he can provide, the consultant routes the call to a specialist.

The specialists are usually former software developers who can guide the customer through troubleshooting procedures based on their deep knowledge of particular products of Maximum. If the memorized analytical strategies are not successful, a specialist may look for ideas in a knowledge base of past problems and solutions. Based on the available information, create a use case diagram to represent this help desk system.

1. Solution:

Element Marked / Marks Each / Total Elements / Partials / Total Marks
Actor / 0.33 / 3 / no / 1
Use Case / 1 / 4 / yes / 4
Extend/Include Relationship / 1 / 3 / no / 3
System/Diagram Name / 1 / 1 / yes / 1
9

2.Super Bank has multiple branches, and each account is serviced by one branch. Each branch is tracked on a branch number, address, and phone number. The bank has personal and commercial customers. Customers have accounts, and each account is keyed on a number and contains information on the balance and the date when it was opened.

Customer information includes the customer number, name, and mailing address. Commercial customers also have attributes for credit rating, contact person, and contact person phone. Personal customers have attributes for home phone and work phone.

Create a simplified class diagram (no methods and multiplicity included) that is based on this description.

2. Answer:

Note: Multiplicity is shown just for study purposes.

Element Marked / Marks Each / Total Elements / Partials / Total
Class (proper name, indicated attributes) / 0.6 / 5 / yes / 3
Associations (each mark breaks down to 2 aspects: correct classes linked, relationship name) / 1 / 4 / yes / 4
7

3.Using the document below, create an activity diagram for a real estate agency’s information system.

Use Case Name: / Change Listing Information
Scenario: / Update existing listing information
Trigger: / Agent needs to change listing information
Actors: / Real Estate Agent
Flow of Steps: / Actor / System
1. Enter agent ID
2. Enter listing number
3. Enter listing updates / 1. Verify agent ID
2. Retrieve listing and display it
3. Validate that agent has the privilege to change the listing. Save changes.
Exception Conditions: / 2. If the listing not found, display “No listing available. Enter new number.” Wait for next input.
3. If no update listing privilege, display “Listing change not allowed” and finish

3. Solution:

Marks

Element Marked / Marks Each / Total Elements / Partials / Total Marks
Activity
(activities “End session” are optional) / 0.5 / 9 / yes / 4.5
Decision Point / 1 / 2 / yes / 2
Flow back to “Enter listing #” or some other way
of depicting the loop / 1 / 1 / 1 / 7.5
Flows must be correct
Missing flow = -0.25;
Violation of flow (sequence of activities) = -.05.

4.Below is the activity diagram for the Quality Building Supply Sales System. Quality Building Inc. sells various constructions items, such as sand, cement, wood frames, plumbing elements, doors, and windows. The use case presented captures a sales transaction.

Use information available in the diagram to create a class diagram (the simplified version with no methods and multiplicity included).

4. Answer:

Element Marked / Marks Each / Total Elements / Partials / Total
Class (proper name, indicated attributes) / 1 / 5 / yes / 5
Associations (each mark breaks down on 3 aspects: correct classes linked, relationship name, correct relationship type) / 1 / 4 / yes / 4
9

True/False

1. Prototyping is a necessary part of collecting system requirements via focus groups.

F

2. A pure waterfall approach to systems development does not work very well.

T

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

5. In the Unified Process (Object-Oriented) life cycle, some working software is tested and reviewed with system users at the end of each iteration.

T

6. A user interface prototype cannot be used as a starting point for the development of a system.

F

7. Forms and reports should be included for discussion in user interviews.

T

8. The relationship between receipt, on the one side, and items, on the other, can be represented as part-whole.

T

9. Sometimes a use case generates no response at all.

T

10. Instead of an outside process updating data values, an object updates its own values when asked to do so.

T

11. Many-to-many associations often involve additional data that must be recorded.

T

12. Any class is assumed to know how to add a new instance, update values, and report information about itself.

T

13. Actors can be systems or other devices that receive services from the system.

T

14. Analysts cannot define «include» cases that are directly referenced by external actors.

F

15. Each use case may have only one scenario.

F

Multiple Choice

16. _____ is the process of understanding and specifying in detail what an information system should do.

a.Information modeling

b.Systems analysis

c.Information building

d.Systems design

17.The message "drawYourself()" is sent to two types of objects. One object responds by painting a bar chart. The other responds by displaying a photographic image. Which term best describes this system characteristic?

a. Inheritancec. Generalization

b. Compositiond. Polymorphism

18. The Unified Process is _____ driven.

a.data modelc.program

b.use cased.process

19. The _____ approach is an SDLC approach that assumes the various phases of a project can be completed entirely sequentially.

a.waterfallc. prototype

b.artifactd.d. object-oriented

20. _____ is a system development process in which work activities - analysis, design, and implementation - are repeated until the system is closer to what is ultimately needed.

a.Decompositionc.Multiplicity

b.Iterationd.Reuse

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

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 data structure that can be transformed by external processes.

d. An entity based on the principle of encapsulation.

23. In a 7 iteration project, iteration 5 involves minimal focus on _____

a.configuration and change management

b.testing

c.implementation

d.requirements

24. A(n) _____ is a type to which all similar objects belong.

a.classc.attribute

b.methodd.instance

25. _____ combines attributes and methods into one unit and hides its internal structure of objects.

a.Encapsulationc. Inheritance

b.Information hidingd. Polymorphism

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 decides to deposit the cheque.

b. Mark wants to buy a car.d. Mark makes a deposit in his savings

account.

27. Which of the following is an example of a UML diagram?

a.screen layoutc.use case description

b.event tabled.use case diagram

28. The first fact-finding task for an analyst usually is to _____.

a.review existing reports, forms, and procedure descriptions

b.distribute and collect questionnaires

c.build prototypes

d.conduct JAD sessions

29. Inheritance relationships exist between:

a. Instances and classes.

b. A whole class and part classes.

c. A superclass and subclasses.

d. Packages and components.

Grades