12014-06-04 distributed software development 2011/12

26
1 22-06-26 Distributed Software Development 2011/12

Upload: kaela-twichell

Post on 30-Mar-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 12014-06-04 Distributed Software Development 2011/12

123-04-10

Distributed Software Development

2011/12

Page 2: 12014-06-04 Distributed Software Development 2011/12

223-04-10

Search4Yummy Requirements Definition and

System Architecture

Muhammad SulymanPetar Paar

Yehui WangRonald Wolvers

Jan Čustović

Andrej Garić

Ivan Bandalo

Lovro Maričić

Page 3: 12014-06-04 Distributed Software Development 2011/12

Outline• Functional Requirements

• Usecase Models

• Nonfunctional Requirements

• External Interfaces

• Components

• System Architecture

• Database Design

323-04-10

Page 4: 12014-06-04 Distributed Software Development 2011/12

Functional Requirements

423-04-10

Mobile application Web application

RestaurantRestaurant

System administration

System administration

CustomerCustomer

UserGuest

Staff member

Administrator

Page 5: 12014-06-04 Distributed Software Development 2011/12

Customer Requirements

• Browse restaurants

• Search restaurants– Popularity, location, type, seat availability,

food offer, “I feel lucky”

• Browse dishes

• Search dishes– Price, type, restaurant

523-04-10

Page 6: 12014-06-04 Distributed Software Development 2011/12

Customer Requirements

• Feedback– Comments, photos, likes, recommendations

• News– Certain restaurant, type of restaurant

• Check-in

623-04-10

Page 7: 12014-06-04 Distributed Software Development 2011/12

UC Model: Customer

723-04-10

Page 8: 12014-06-04 Distributed Software Development 2011/12

UC Model: Customer

823-04-10

Page 9: 12014-06-04 Distributed Software Development 2011/12

923-04-10

UC Model: Customer

Page 10: 12014-06-04 Distributed Software Development 2011/12

Restaurant Requirements

• Menu update

• Seat availability update

• Restaurant info update

• News update

1023-04-10

Page 11: 12014-06-04 Distributed Software Development 2011/12

UC Model: Restaurant

1123-04-10

Page 12: 12014-06-04 Distributed Software Development 2011/12

System Administration Requirements

• User management

• Restaurant management

• Restaurant staff members management

1223-04-10

Page 13: 12014-06-04 Distributed Software Development 2011/12

UC Model: Administration

1323-04-10

Page 14: 12014-06-04 Distributed Software Development 2011/12

UC Model: Administration

1423-04-10

Page 15: 12014-06-04 Distributed Software Development 2011/12

UC Model: Administration

1523-04-10

Page 16: 12014-06-04 Distributed Software Development 2011/12

Nonfunctional Requirements

1623-04-10

• Usability

• Accessibility

• Performance

• Privacy and safety

• Portability

Page 17: 12014-06-04 Distributed Software Development 2011/12

Requirement definition

• Requirement Group & definitions ADM RS USM GUM USW GUW NFR

• Must

• Should

• Could

• Would

Page 18: 12014-06-04 Distributed Software Development 2011/12

External Interfaces

1823-04-10

Page 19: 12014-06-04 Distributed Software Development 2011/12

Components

1923-04-10

Page 20: 12014-06-04 Distributed Software Development 2011/12

System Architecture

• 3-tier application– Presentation layer– Bussiness logic– Database layer

• Client/Server communications model• Each tier can be developed concurrently• Tiers communicate thru interfaces

– Easy to change implementation of one tier without changing other tiers

2023-04-10

Page 21: 12014-06-04 Distributed Software Development 2011/12

Presentation/Bussiness layer

• Struts2 MVC

• Spring, Spring security

• View rendering: Tiles, Freemarker, taglib, JSON, XML

2123-04-10

Page 22: 12014-06-04 Distributed Software Development 2011/12

Database layer

• JPA/Hibernate ORM framework

• Ehcache

• Spring data

2223-04-10

Page 23: 12014-06-04 Distributed Software Development 2011/12

Design patterns

• One class must do one thing (decoupled as much as possible)

• Tests for important parts

• Use singletons when possible

• Only object itself can change its state (use getters and setters)

• Respect naming convention

2323-04-10

Page 24: 12014-06-04 Distributed Software Development 2011/12

2423-04-10

Page 25: 12014-06-04 Distributed Software Development 2011/12

Stack overview

2523-04-10

Page 26: 12014-06-04 Distributed Software Development 2011/12

Questions?

2623-04-10