Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.