system analysis and design

profilemahimanaz
Running-Case-Study-AK.pdf

Spring 2016 - Running Case Study

1 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Spring Breaks ‘R’ Us Case Study

Spring Breaks ‘R’ Us (SBRU) is an online travel service that books spring break trips to resorts for college

students. Students have booked spring break trips for decades, but changes in technology have

transformed the travel business in recent years. SBRU moved away from having campus reps with

posted fliers and moved to the Web early on. The basic idea is to get a group of students to book a room

at a resort for one of the traditional spring break weeks. SBRU contracts with dozens of resorts in key

spring break destinations like Florida, Texas, the Caribbean, and Mexico. Its Website shows information

on each resort and includes prices, available rooms, and special features. Students can research and

book a room, enter contract information, and pay deposits and final payments through the system.

SBRU provides updated booking information, resort information updates, and travel information for

booked students when they log into the site.

The resorts also need access to information from SBRU. They need to know about their bookings for

each week, the room types that are booked, and so forth. Before the spring break booking season starts,

they need to enter information on their resorts, including prices and special features. Resorts need to

be paid by SBRU for the bookings, and they need to be able to report and collect for damages caused

by spring breakers during their stay.

SBRU has recently decided to upgrade its system to provide social networking features for students. It

is currently researching possibilities and collection information from prospective customers about

desirable features and functions. From the business standpoint, the idea is to increase bookings by

enhancing the experience before, during, and after the trip.

1. Who are the stakeholders for SBRU? For each type of stakeholder, what aspects of the SBRU

booking system are of particular interest?

Students – Student booking, Social Networking, Accounting and Finance

Resorts – Resort relations, Student Booking, Social Networking, Accounting and Finance

2. What are the main functional requirements for the major subsystems (i.e. resort relations,

student booking, accounting and finance, and social networking)?

Resort Relations:

◦ Sign up with SBRU (get an account)

◦ Edit account information

◦ Create/enter resort information for SBRU website

◦ Post availability and prices of rooms/facilities

◦ View/edit room availability

◦ Retrieve completed reservations (View, report, or system interface)

◦ Submit damage report

Student Booking:

◦ Join SBRU/enter personal and financial information

◦ View resort information and availability of rooms/facilities

Spring 2016 - Running Case Study

2 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

◦ Make a reservation (book a room/facility)

◦ Make a payment for reservation

◦ Cancel a reservation

Accounting and Finance:

◦ Process student payments

◦ Make refunds/correct payment errors

◦ Process payouts to resorts

◦ Edit/update/correct payouts

Social Networking:

◦ Set personal privacy settings (viewable by friends only, resort users, resort employees, etc.)

◦ Link up with “friends”

◦ Chat with friends

◦ Post comments on personal page

◦ Upload pictures to personal page

◦ Post comments on resort page

◦ Upload pictures to resort page

3. Describe some usability requirements for students, booking interactions, and social networking

interactions

Students will be using all types of laptops, tablets (iPads), smartphones (iPhones) to make

reservations, check status, and especially social networking. Displays must be adaptable for all

these types of computing devices. Internet access will also be through Ethernet, Wi-Fi, and

telephone access, with the varying speeds associated with each. Hence images and text should be

combined judiciously.

4. Assuming that social networking at the resorts will require wireless communication and

connection to the internet, what are some reliability requirements that resorts might be asked

to maintain? What are some performance requirements? Is this a bigger issue because resorts

are in international locations?

Social networking capabilities can be provided two ways, either through SBRUs central servers or locally through the resort's server. For smaller resorts using SBRU servers – provide high-bandwidth access to the Internet. Service level should be close to 100% availability with very wide bandwidth. For those resorts with high usage of SBRU clients, they may want to provide local connectivity services. This would require the same support as the smaller resorts, but also allow local chatting and communication ability. For international resorts sometimes there are problems of connectivity, bandwidth, and

reliability. Resorts that want to join SBRU will require a minimum service level guarantee

Spring 2016 - Running Case Study

3 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

5. What are some security requirements? Is there any reason why students in Europe, Asia or

other locations could not book rooms through SBRU? What issues might be anticipated?

There are many security issues that must be addressed. 1. Resorts have accounts with resort availability, reservations, accounts, and payments. Different levels of security, data transmittal, and authorization is required. Resort information only requires protection from hacking and defacing. Reservations contain personal information and use HTTPS sites with TLS. Consideration should be given to encryption. Account and payment information most definitely requires TLS and encryption. 2. Student information is also personal and private. It will include payment and credit card information. All financial information requires TLS and encryption. 3. Social networking capabilities require protection of personal information and “friend” information. It SBRU should be able to support students from throughout the world. However, supporting international students may require web pages to be translated into other languages. It will also require establishing relationships with international bank clearing houses to handle different currency systems.

6. To collect information on functional requirements for the social networking subsystem, what

are some techniques that might be used? Be specific and include some sample questions you

might ask by using various techniques.

Assuming SBRU has an existing system, with existing student customers and desires to add social networking (thus an existing customer base does exist). The social networking system should be heavily driven by student desires and requests. Some possible ways to determine the functional requirements are: 1. Review other social networking sites to see how they work. 2. Send out questionnaires to existing customers on the desirability and possible use of social networking. 3. On selected customers conduct telephone interviews to elaborate student desires. 4. After a social networking capability has been added, then use ongoing evaluation questionnaires to refine the usability and functional effectiveness of the system. (For example after a vacation give an incentive to collect student feedback on the resort, the booking system, and the social networking system)

Spring Breaks ‘R’ Us (SBRU) includes many use cases that make up the functional requirements.

Consider the following description of the Booking subsystem. A few weeks before Thanksgiving break,

it is time to open the system to new bookings. Students usually want to browse through the resorts and

do some planning. When a student or group of students want to book a trip, the system allows it.

Sometimes, a student needs to be added or dropped from the group or a group changes size and needs

a different type of room. One month before the actual trip, it is time for the system to send out final

payment requirement notices. Students cancel the booking or they pay their final bills. Students often

want to look up their booking status and check resort details. When they arrive at the resort, they need

to check in; and when they leave, they need to check out.

Spring 2016 - Running Case Study

4 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

1. Using the event decomposition technique for each event you identify in the above description,

name the event, state the type of event, and the name of the resulting use case. Draw a use

case diagram for these use cases.

Event (Booking subsystem) Type Use Case

Student browses resorts External Display resort information

Student browses resort packages External Display resort package information

Student group requests reservations External Book student group

Group adds/deletes participants External Change group booking

Time to send out payment requirements Temporal Send payment notices

Check on booking details External Display booking details

Students check in External Update reservation info (hotel)

Students check out External Update reservation info (hotel)

2. Consider the new Social Networking subsystem that SBRU is researching (mentioned in the case

introduction). Think in terms of the user goal technique to identify as many use cases as you

can think of that you would like to have in the system. SBRU Is guessing you might want to join,

Spring 2016 - Running Case Study

5 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

send messages, and so forth, but there must be many interesting and useful things the system

could do before, during and after the trip. Draw a use case diagram for these use cases.

Answers will vary. A few possibilities

▪ Create an individual account (join)

▪ Set preferences on account

▪ Create a group account

▪ Assign admin rights to account

▪ Search for a person or group

▪ Link up with a person or group

▪ Send a private message to a friend

▪ Chat with friend(s)

▪ Post a comment to a friend/group/photo

▪ Upload photo or video

▪ Tag photo

▪ Write/update vacation experience

Spring 2016 - Running Case Study

6 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Consider the SBRU Social Networking subsystem, and the potential domain classes that might be

involved in this subsystem. For example, there would need to be information about a traveler attending

a resort for a particular week. The traveler would be assigned to a room along with roommates but

might also be connected to other friends. There might be different interests or hobbies a traveler can

associate with in hopes of connecting to others. The resort has many locations where a traveler might

be hanging out at any given time, and a traveler can note whether the location is “liked”. People might

schedule a party at a location and invite specific friends.

1. For the Social Networking subsystem as described here, list the domain classes and their

attributes that should be included in the Social Networking subsystem. Be creative and add

those you think should be included to make the system useful and appealing.

See diagram below with all the classes

2. Based on the domain classes you identified, draw a domain model class diagram showing

domain classes with attributes and associations with multiplicity.

Note: Creating an accommodation class as an association class between Traveler and Resort, e.g. on an

association such as Traveler stays at Resort. However, this will only work if it is defined as

CurrentAccommodation and only one is allowed in the database at a time. In other words, a given

Traveler may stay at the same Resort on multiple dates. In that case an Accommodation association

would not be unique by the keys TravelerID-ResortID, and the above solution is more general.

Spring 2016 - Running Case Study

7 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

The Spring Breaks ‘R’ Us Travel Service system has many use cases and domain classes, which you

identified previously.

Note: Students will need to enhance their domain model based on the previous narrative and not only the portion requested specifically only for the Social Networking subsystem. In order to complete these use cases more classes need to be defined. The CRUD analysis also will show that additional classes must be defined. In fact when assigning this case, you might want to suggest that the students do the CRUD analysis first. Below is a more complete domain model, which includes additional classes Group, Reservation, PaymentTxn, PersonalAccount.

1. For the use case Add New Resort, write a fully developed use case description and draw an SSD.

Review the classes that are associated with a resort in the domain model to understand the

flow of activities and repetition involved.

Use case name: Add a new resort

Scenario: Add a new resort

Triggering event: A new resort contracts with SBRU to participate in the vacation program

Spring 2016 - Running Case Study

8 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Brief description: A new resort is added with descriptive information. Information about the accommodations available to this program are entered. Information about the facilities available for activities in this program are entered

Actors: SBRU clerk, Resort employee

Related use cases:

Stakeholders: SBRU management, Resort management

Preconditions: Resort must not already exist

Postconditions: Resort is created Facilities are created and associated with the resort Accommodations are created for this resort

Flow of activities Actor System

1. Verify that the resort does not exist 2. Enter resort description 3. (loop) Enter facilities information 4. (loop) Enter accommodations information

1.1 Check database for resort information 2.1 Create resort record 3.1 Create facilities record 4.1. Create accommodations record

Exception conditions:

1.1 Resort already exists

Spring 2016 - Running Case Study

9 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

2. For the use case Book a Reservation, write a fully developed use case description and draw an

SSD. Review the classes that are associated with a reservation in the domain model to

understand the flow of activities and repetition involved.

Use case name: Book a reservation

Scenario: Book a reservation online

Triggering event: Student wants to make a reservation and initiates booking

Brief description: Student searches or browses the resorts. He/she checks accommodations and availability. Then he/she makes a reservation for either a single person or a group. (Allow both individual and group reservations.)

Actors: Student

Related use cases:

Create individual account (includes Traveler) Create group account Add person to group (new use case previously undefined)

Stakeholders: Student, Resort

Preconditions: Traveler and Individual account must exist Group must exist (for group reservation) Resort must exist

Postconditions: Reservation must be created and associated with Resort and Group/Traveler Payment must be created and associated with IndividualAccount

Flow of activities Actor System

1. Find a resort (search or browse) 2. Check availability of accommodations 3. Choose reservation type 4. Enter reservation details 5. Enter reservation payment information

1.1 Display resort and accommodation information 2.1 Display accommodation availability information 4.1 Make reservation 5.1 Verify individualInfo and paymentInfo Create PaymentTransaction for Reservation Display confirmation Send email confirmation

Exception conditions:

5.1 Payment transaction fails

Spring 2016 - Running Case Study

10 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

3. Draw an activity diagram to

show the flow of activities for

the use case Add a New

Resort.

Spring 2016 - Running Case Study

11 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

4. Do a CRUD analysis based on the domain model you built in the previous section and the use

cases you have defined thus far.

Use Cases Prsn Rsrv Pmnt Grp Intst Trvlr Accm Rsrt Trvl

in-rm Cmmt Faclty Actvt

y

Create individual acct

C

Set preferences

U U

Create grp acct C

Assign admin rights

U U

Search for person/group

R R

Link with person/grp

U U

Send private message

Upload photo

Tag photo

Post comment C

Chat with friend

Write vacation experience

C

Display resort info

R R R

Display resort package info

R R R

Book student group

C U C C

Change group booking

U U U U

Send Payment notices

R

Display booking details

R

Update reservation-

checkin C

Update resrv - checkout

C U

Note: It is obvious from the CRUD analysis that there is a lot more work to be done to specify the

requirements for this system. There needs to be a whole set of use cases to create and maintain

Spring 2016 - Running Case Study

12 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

resort information. There needs to be more classes to keep track of chats and messages. Many of the

classes do not have sufficient use cases to do complete CRUD processing.

The SBRU information system includes four subsystems: Resort Relations, Student Booking, Accounting

and Finance, and Social Networking. The first three are purely web applications, so access to those

occurs through an internet connection to a Web server at the SBRU home office. However, the Social

Networking subsystem has built in chat capabilities. It relies on Internet access, as students compare

notes before they book their travel reservations, and as they chat while travelling. To function properly,

the system obviously requires a wireless network at each resort. SBRU isn’t responsible for installing or

maintaining the resort wireless network; they only plan to provide some design specifications and

guidelines to each resort. The resort will be responsible for connecting to the internet and for providing

a secure wireless environment for the students.

1. For which subsystem(s) is (are) integrity and security controls most important and why?

Integrity and security are most important for financial transactions and for personal information. The Student Booking subsystem will contain personal information for the students, including name, addresses, phone numbers, and email addresses. It may also collect payment information such as credit card numbers and/or paypal account information. All of this information must be protected. The Accounting and Finance information will also contain sensitive financial information. It will contain billing information to the resorts as well as payment information from the students.

2. What data should be encrypted during transmission through resort wireless networks to SBRU

systems? Does your answer change if students interact with SBRU systems using a cell phone?

All personal information should be encrypted when it is transmitted. This includes the information the students enter when they reserve their hotels and accommodations. Also when the reservation information is sent to the resorts, it should be encrypted because it also is personal and private. It would be a good idea to encrypt chat information at the hotels. However, the hotels may not be as committed to security issues as SBRU. Cell phones are usually not encrypted. Therefore, local wireless provided by cell phones is not normally encrypted while it is wireless. Thus it is even more important that the data be encrypted by the SBRU system and its local client software.

Spring 2016 - Running Case Study

13 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Considering what you know so far about SBRU, complete the following tasks:

A. Develop a simple network diagram that includes all four SBRU subsystems (resort relations

student booking, accounting/finance, and social networking) assuming that all server side

hardware and software resides at the SBRU home office.

B. List the advantages and disadvantages of hosting all server-side hardware and software at the

SBRU home office compared to using a large cloud service provider such as Amazon, or

Microsoft.

Advantages of Home Office Advantages of Hosting

Closer control of the environment Smaller technical staff required

Closer control of database integration Can grow without equipment capital expenditures

LAN access to systems versus Internet always

Can grow without facilities/ building growth

Possibly better response times Built in security and isolation

Spring 2016 - Running Case Study

14 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

C. Answer the following questions:

a. Assuming that external hosting costs are roughly the equivalent to the cost of operating,

staffing, and, maintaining a server room at the home office, do the benefits of external

hosting outweigh the costs?

Growth is easier with hosted service. Backup and recovery services can be purchases.

Probably still better to host.

b. Does your answer to the previous question change if external costs are 50% greater

than operating, staffing, and, maintaining a server room at the home office?

If home office costs are 50% greater, hosted servers may not prove that much of an

advantage

c. Does your answer to the 2 previous questions change if SBRU decides to expand its

operations to include Europe and South America?

Global access often is better served by geographically distributed databases and systems. The correct hosted service will provide international and global server farms. It would be very expensive and complex for SBRU to build and staff foreign server farms.

The Spring Breaks ‘R’ Us social networking subsystem requires an intuitive and engaging user-interface

design for mobile-services. But the social networking subsystem can also play an important part in resort

security. For example, each resort could use traveler location, interests, activities, and “likes” – all of

which are available through the application – to monitor the well-being of travelers staying at the resort.

Most spring break travelers are young, and their parents are concerned about their safety – particularly

at isolated resorts in foreign countries. SBRU and the participating resorts could keep track of where

travelers are and who they are near, monitor messages about activities and parties, and anticipate

crowded conditions or vulnerable travelers wandering off-site. For example, if a pool is overcrowded,

some action can be taken. If messages refer to places off-site that are known to be dangerous, security

can make an extra patrol. Although many people find this use of private information objectionable,

others – particularly parents – find it essential.

Imagine resort security with a large, wide screen monitor tracking traveler activities. Design a main

screen that includes multiple locations, paths and roads, traveler location, and status, messages traveling

from traveler to traveler, and other features that security should monitor. Create a storyboard that

shows an example of a pop-up alert and a menu of options that security might select after an alert.

Should you also show security the staff members’ location and status? How about clicking security staff

members to send them a message? How about clicking a location to turn up the lights or to close a

security ate? Be creative as you think through the design of possibilities. You should include four or five

screen layouts for the storyboard.

Spring 2016 - Running Case Study

15 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Spring 2016 - Running Case Study

16 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Update the Domain Model diagram created previously, with any additional problem domain classes,

new associations, or additional attributes that you have discovered as you worked towards your

solutions for the previous problems.

Using this comprehensive domain model class diagram, develop a relational database schema. In the

schema, identify the foreign keys that are required. Also, identify a key attribute for each table. You may

need to add a key field if there isn’t an attribute that could logically serve as the key. Remember that a

candidate key for an association class is the combination of the keys or the connected classes. However,

it may make sense to define a shorter, more concise key field.

Verify that each table is in the 3rd normal form. Discuss ant discrepancies you had to fix from your first

solution. Discuss any tables that aren’t in 3rd normal form and why you are leaving them as non-

normalized. (For example, in the U.S., city and state are functionally dependent on zip code, but you

might have to leave all 3 fields in the same table. Why?)

Spring 2016 - Running Case Study

17 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Table Attributes ForeignKey

PersonAccount PersonID, BalanceAmt, CCInfo, DateLastPay, AmtLastPay

Traveler PersonID, PersonName, PersonAddress, PersonTel, PersonEmail

Group GroupID, RespPersonID, NumbInGroup Ref Traveler

Reservation ReservationID, GroupID, ArrivalDate, DepartDate, NumbBeds Ref Group

PaymentTxn TxnID, ReservID, PersondID, AmtPaid, DatePaid, TypePayment, Details Ref Reservation Ref Person

Resort ResortID, ResortName, ResortAddr, ResortTel, ResortEmail

Accommodation ResortID, Room#, RoomTelephone, RoomNumbBeds Ref Resort

Facility FacilityID, ResortID, FacilityName, FacilityDesc, FacilityLoc, FacilityCap Ref Resort

Activity ActivityID, FacilityID, ActDescription, ActStart, ActEnd Ref Facility

Comment CommentID, PersonID, CommentDateTime, Rating, Text Ref Traveler

Interest InterestID, PersonID, InterestDesc, InterestIntensity Ref Traveler

TravelerInRoom PersonID, ResortID, Room#, CheckIn, CheckOut Ref Traveler Ref Accommod

TravelerLikesFacil ity

PersonID, FacilityID Ref Traveler Ref Facility

TravelerIsFriend Of

PersonID, PersonID Ref Traveler

TravelerInGroup GroupID, PersonID Ref Group Ref Traveler

AccommodAssig nment

ReservationID, ResortID, Room# Ref Reservation Ref Accommod

The initial system used by SBRU included four major subsystems Resort Relations, Student Booking,

Accounting and Finance, and Social Networking. The project calls for an adaptive approach to the SDLC

for several reasons. One, it is relatively large in scope. Two, there is a diverse set of users in several

functional areas, internal and external to the company and in several foreign countries. Three, the

project needs to use an assortment of newer technologies that can communicate anytime and

anywhere.

1. The SBRU information system includes four major subsystems: Resort relations, Student

booking, Accounting and finance, and Social networking. Although you have only worked with

the domain model class diagram for the social networking subsystem, list as many of the

domain classes that would probably be involved in each of the subsystems. Note which classes

are used by more than one subsystem.

Subsystems Classes

Resort relations Resort Accommodation Facility Activity Traveler

Spring 2016 - Running Case Study

18 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

TravelerInRoom Comment (read)

Student booking Reservation Traveler PersonAccount Group Resort (read) PaymentTxn

Accounting and finance PaymentTxn PersonAccount (read) Traveler (read) Resort (payments to resorts)

Social networking Traveler (read) Group (read) Interest** Comment Resort (read) TravelerInRoom (read) Accomodation (read) Facility (read) Activity (read) MultimediaInfo**

** Class NOT used by multiple subsystems. All others are accessed by multiple systems

2. Based on the overlapping classes, what domain classes seem to be part of the core functionality

for SBRU? Draw a domain model class diagram that shows these classes and their associations

Note: Core functionality will be to allow students to make reservations at resorts. That is the first

and most important functionality. That requires resort information and student information

Spring 2016 - Running Case Study

19 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Based on the functional descriptions and the use cases you defined previously, finish identifying a

complete list of use cases for each of the four subsystems. One important decision you will have to make

is which subsystems to develop first. In other words, can the subsystems be deployed independently

and, if so, which should be deployed first? Defend your answer.

Probably the best order to deploy the system is 1. Resort relations – so they can start entering vacation packages 2. Student booking – so students can start using the system 3. Accounting and finance – about as important as student booking. Need to process payments 4. Social networking – Some portions will need to be done early (individual and group accounts

that book rooms together) Other portions are not required until students begin taking vacations

Resort Relations:

 Sign up with SBRU (get an account)  Edit account information  Create/enter resort information for SBRU website  Post availability and prices of rooms/facilities  View/edit room availability  Retrieve completed reservations (View, report, or system interface)  Submit damage report

Student Booking:

 Join SBRU/enter personal and financial information  View resort information and availability of rooms/facilities  Make a reservation (book a room/facility)  Make a payment for reservation  Cancel a reservation

Accounting and Finance:

 Process student payments  Make refunds/correct payment errors  Process payouts to resorts  Edit/update/correct payouts

Social Networking:

 Create an individual account (join)  Set preferences on account  Create a group account  Assign admin rights to account  Search for a person or group  Link up with a person or group  Send a private message to a friend  Chat with friend(s)  Post a comment to a friend/group/photo  Upload photo or video  Tag photo  Write/update vacation experience

Spring 2016 - Running Case Study

20 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Using the previously created use cases and domain classes identified, do the following:

1. Draw a first-cut Design Class diagram (DCD) for the Book a Reservation use case.

See the final DCD below. The first-cut should be similar except without the method names. Some

of the navigation visibility arrows may also be incorrect. That is okay. As the first-cut, it is only a

best guess.

2. Use the CRC cards technique to verify the classes that are involved in the Book a Reservation

use case. Recall that creating a booking involves at least a student group, a resort, a week, and

a room type. Decide which class should have the primary responsibility for collaborating with

the other classes and then complete the CRC cards for the use case.

Note: We are using the expanded class diagram developed previously. We are also using the SSD

developed for it with the Book a Reservation use case. It has five input messages to

1. findResorts 2. showResortDetails 3. checkAvailability 4. requestReservation 5. payForReservation

As shown in the solution, it has many classes involved in the solution. We used UML notation to

show class level methods. This use case is pushing the limits of CRC cards. It is fairly complex.

Spring 2016 - Running Case Study

21 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

3. Update the Design Class Diagram with method names from the CRC cards. For this solution, do

not try to determine entire method signatures, just the names.

Note: A first-cut design class diagram is a “best guess” at the navigation visibility required. It often

changes as the detail design progresses. Notice in this solution that the Resort and the Traveler

take responsibility for many of the actions.

Spring 2016 - Running Case Study

22 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Using the previously identified use cases and the classes identified associated with the corresponding

business events, develop:

1. A first cut DCD using the previously identified classes

Note: This DCD is an expanded one, which also includes the classes that were added in Chapter

5 to support the use cases. Student answers may not have as many classes. Or you can provide

them with an expanded domain model class diagram.

Spring 2016 - Running Case Study

23 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

2. A communication diagram for the Add a Resort use case (domain classes and controller class

only)

Spring 2016 - Running Case Study

24 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

3. A sequence diagram for the Book a Reservation use case (domain classes and controller class

only). You can use the SSD previously created or the CRC cards as guidelines.

4. A multilayer sequence diagram for the Book a Reservation use case that includes domain classes

and data access classes.

5. A separate multilayer sequence diagram for the Book a Reservation use case that includes the

domain classes and the view layer classes.

Note: Due to the complexity of this diagram, it will be best to divide this use case into two pages.

A good dividing point is before checkAvailability ( ) message.

Spring 2016 - Running Case Study

25 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

6. A final design class diagram that includes the classes from both use cases; include elaborated

attributes, navigation arrows, and all the method signatures from both use cases

Spring 2016 - Running Case Study

26 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

7. A package diagram of the four subsystems (Resort Relations, Student Booking, Accounting and

Finance, and Social Networking) that includes all the problem domain classes

Assume the new SBRU system will upgrade an existing system and add new social networking function

to it, and ponder the following risk, cost, and benefit considerations on systems implementation and

deployment:

Spring Breaks 'R' Us Travel Service

System Vision Document

Problem Description

Spring Breaks arranges with travel resorts for spring break vacation packages and markets those packages to

students. Historically it has done its business using campus sales persons and printed fliers. However,

students now prefer to do their own browsing and vacation scheduling using the Internet. Hence Spring

Breaks needs to build an entirely new Web based system that allows resorts to self-publish their vacation

packages, and supports student desires to browse and schedule their vacations. Additional features are to be

added to the system to enhance utility for students. One popular feature is a social networking component to

the system.

Spring 2016 - Running Case Study

27 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

System Capabilities

Resort Relations:

 Create/enter resort information  Post availability and prices of rooms/facilities  Retrieve completed reservations

Student Booking:

 View resort information and availability of rooms/facilities  Make a reservation (book a room/facility)

Accounting and Finance:

 Process student payments  Process payouts to resorts

Social Networking:

 Link up and chat with “friends”  Post comments and pictures

Business Benefits

For Spring Breaks:

 Increased student use (increase sales)  Social media marketing of Spring Breaks services  Better support for resorts will help to recruit additional resorts  Reduce costs of 'on-campus' sales representatives

For Resorts:

 Easier to add vacation packages  Faster payments for reservation  Closer, more rapid communication with Spring Breaks

For Students:

 Easier to browse vacation packages  More detailed information about vacation packages  Mobile access to resorts, packages, friends  Easier to reserve and change packages  Easier to form vacation 'groups' with friends  Locating and connecting with friends via social networking capability

Suppose the project is organized into 2 teams of programmers. One for the Student functions and

another for the Resort and Finance functions. The project will also be divided into four iterations with

parallel plans, as follows:

Spring 2016 - Running Case Study

28 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

Student Function Team Resort Function Team

Iteration Use cases Iteration Use cases

#1 Join / Enter account info Create an individual account Create group account

#1 Sign up with SBRU Create/enter resort information Post room and package info

#2 View resort information View vacation package options Make a reservation Change/Cancel a reservation

#2 Edit account information View/edit rooms/packages Retrieve reservations Submit damage report

#3 Set preferences on individual account Set admin rights to group Make a payment

#3 Process payments Make corrections on payments Process payouts Correct payouts

#4 Search for person/group Link up with person Send message Post comment

#4 Write vacation experience Upload photo/video Tag photo/video

The above proposed project organization leads to the following estimates for time and budget:

Student Function Team Resort Function Team

Iter No. Use cases Estimate Iter No. Use cases Estimate

#1 3 6 weeks #1 3 6 weeks

#2 4 5 weeks #2 4 5 weeks

#3 3 4 weeks #3 4 4 weeks

#4 4 4 weeks #4 4 4 weeks

#5 Cleanup/Test 4 weeks #5 Cleanup/test 4 weeks

Expense Category Amount

Salaries (2 person teams @ $1500/week+ PM @ $2000/week + support staff @ $1200/week)

$208,400

Equipment/Install (2 servers + network) $25,000

Training $15,000

Facilities $20,000

Licenses $10,000

Travel/miscellaneous $20,000

Total $298,400

Spring 2016 - Running Case Study

29 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

The project implementation will lead to an annual revenue increase of $250,000 per year (benefit), and

an annual operating cost of $75,000. Using a 6% discount factor the projected 5 year NPV for the project

is as follows:

1. For each subsystem – Resort Relations, Student Booking, Accounting and Finance, and Social

Networking – specify which other subsystem(s) it depends on for input data.

Subsystems Classes and subsystem which have Create and Update responsibility.

Resort relations Resort ← Resort relations Accommodation ← Resort relations Facility ← Resort relations Activity ← Resort relations Traveler ← Student booking TravelerInRoom ← Resort relations Comment (read) ← Social networking

Student booking Reservation ← Student booking Traveler ← Student booking PersonAccount ← Student booking Group ← Student booking Resort (read) ← Resort relations PaymentTxn ← Account and Finance

Accounting and finance PaymentTxn ← Accounting PersonAccount (read) ← Student booking Traveler (read) ← Student booking Resort (payments to resorts) ← Resort relations

Social networking Traveler (read) ← Student booking Group (read) ← Student booking Interest** ← Social networking Comment ← Social networking Resort (read) ← Resort relations TravelerInRoom (read) ← Resort relations Accommodation (read) ← Resort relations Facility (read) ← Resort relations Activity (read) ← Resort relations MultimediaInfo** ← Social networking

Spring 2016 - Running Case Study

30 | M G S 4 0 5 – S y s t e m s A n a l y s i s a n d D e s i g n

2. Can the four subsystems be developed and deployed independently? If so, in which order

should they be developed and deployed? If not, explain why not and describe how you would

develop and deploy the system.

Note: Answers will vary. There is a lot of interdependence among the four subsystems. Answers

will be some variation of the following:

The domain classes cross two subsystems, Student booking and Resort relations. So we will have

two iterations on the core functionality in these two subsystems, and then the remainder of the

use cases and domain classes to finish those two subsystems.

Iteration Subsystem Use Cases Domain Classes

#1 Resort relations Sign up with SBRU Edit resort info Create SBRU website Post availability of rooms

Resort Accommodation

#2 Student booking Join SBRU View Resort info Make a reservation

Traveler PersonAccount Reservation PaymentTxn

#3 Resort relations Create facility info Create Activity info View comments Assign traveler to accommodation

Facility Activity TravelerInRoom Comment

#4 Student booking Create group Make payment Cancel reservation

Group PaymentTxn

These first two subsystems are the most critical and could be deployed first. Even assigning

travelers to rooms does not need to occur until the students arrive. So given the above approach

these subsystems could be deployed prior to the Accounting and Finance and the Social

Networking subsystems.