Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 764 Database Systems Engineering

Similar presentations


Presentation on theme: "CIS 764 Database Systems Engineering"— Presentation transcript:

1 CIS 764 Database Systems Engineering
L4: Design process and artifacts (and reverse engineering) <no audio yet … to be added early in Sept. > Fall 2007

2 CIS 764 Database Systems Engineering
No new homework assignment today. Fall 2007

3 CIS 764 Database Systems Engineering
technology …. J2EE, dotNet, Ruby, … JDev, Eclipse, VisStudio, .. methodology … RUP (Rational Unified Process), MDD / MDA (model driven development / architecture) extreme programming / developent management … install tools, backups, product selection, training, process / people management, security policies, schedules, budget, … Fall 2007

4 CIS 764 Database Systems Engineering
Note: Traditional DB design - -> data models: > ER diagrams (P. Chen) ………………………….conceptual , not OO > schema diagrams (Access, Visio, other tools) ... tables, not OO > UML (an emerging notation for data models) … UML, not OO !! read: Scott Ambler’s own profile for UML database models. Fall 2007

5 CIS 764 Database Systems Engineering
Fall 2007

6 CIS 764 Database Systems Engineering
… notes: stereotype is “data model” storage map is “relational database” kinds of classes: entity lookup table index stored procedure association table view kinds of associations: “arrow” aggregation composition column tags: PK, FK, … Fall 2007

7 CIS 764 Database Systems Engineering
conceptual model … most abstract, language/platform independent (never a table model ) logical model …….. specific parameters, constraints physical model …. tables, concrete types Fall 2007

8 CIS 764 Database Systems Engineering
OO design process: … in practice, always iterative use case model (requirements) … what operations Process model (“swim lanes”) … coordination of ops GUI design: page designs, page flow, mock-up prototype, state models domain model use case assertions, class model Semantic constraints: invariants, operation assertions, state models physical data model (and OO to relational mapping) Fall 2007

9 CIS 764 Database Systems Engineering
UML tutorials: OMG (Object Modeling Group) Rational / Borland (old, but simple) Fall 2007

10 CIS 764 Database Systems Engineering
Sample documents from Sundeep MSE: A User Community (based on Orkut.com)  not a perfect example … several weak features. Fall 2007

11 CIS 764 Database Systems Engineering
Fall 2007

12 CIS 764 Database Systems Engineering
Manage Friends * Purpose: The purpose of this part of the application is to enable user to manage his friends list. *Input: The user will select his friends section and choose to manage friends with various options given. *Processing: The user selection will be validated and accordingly the action is being performed again the user’s account at the server. Friends list is then being processed at the server. *Output: The required action is being performed based on the selection of the action, between Add friend, Delete friend, Scrap friend. Fall 2007

13 CIS 764 Database Systems Engineering
Process model: <did not have one !!!> That means any user can do any (legal) operation in any order. whereas, typical enterprise has coordination of operations: e.g. I cannot access KATS until I am appointed as faculty. Fall 2007

14 CIS 764 Database Systems Engineering
Fall 2007

15 CIS 764 Database Systems Engineering
Fall 2007

16 CIS 764 Database Systems Engineering
Fall 2007

17 CIS 764 Database Systems Engineering
Fall 2007

18 CIS 764 Database Systems Engineering
Fall 2007

19 CIS 764 Database Systems Engineering
--Invariants-- Every photo in database should be associated to a single user. Owner is a member of the community. --Every photo in database should be associated to a single user. association photoasso between Photo[0..*] role userphoto SocialUser[1] role user end --Owner is a member of the community. context SocialUser inv CommOwnerIsMember: SocialUser.allinstances -> forAll(S | S.myCommunities.Owns->includes(S) implies S.myCommunities.member->includes(S)) Fall 2007

20 CIS 764 Database Systems Engineering
CreateCommunity(c_name : String, c_pic : String) : Boolean pre : Community.allInstances.c_name->excludes(c_name) post : post : DeleteCommunity(c_id : Integer) pre : Community.allInstances.c_id->includes(c_id) post : post : post : Fall 2007

21 CIS 764 Database Systems Engineering
Fall 2007

22 CIS 764 Database Systems Engineering
Test Plan: derived from method assertions include plan for function and regression testing function: test both positive action and invalid inputs & states regression: JUnit , NUnit … repeat tests as system is changed Registering a Social User Login Adding a Friend Deleting a Friend Scrap a Friend Creating a Community Joining a Community Manage photos of user Fall 2007

23 CIS 764 Database Systems Engineering
Fall 2007

24 CIS 764 Database Systems Engineering
Now the reverse engineering process: Fall 2007

25 CIS 764 Database Systems Engineering
Fall 2007

26 CIS 764 Database Systems Engineering
Fall 2007

27 CIS 764 Database Systems Engineering
Fall 2007

28 CIS 764 Database Systems Engineering
Fall 2007

29 CIS 764 Database Systems Engineering
End Fall 2007


Download ppt "CIS 764 Database Systems Engineering"

Similar presentations


Ads by Google