Вы находитесь на странице: 1из 29

CIS 764 Database Systems Engineering

L4: Design process and artifacts (and reverse engineering)

<no audio yet to be added early in Sept. >

Fall 2007

http://www.cis.ksu.edu

CIS 764 Database Systems Engineering

No new homework assignment today.

Fall 2007

http://www.cis.ksu.edu

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

http://www.cis.ksu.edu

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: www.agiledata.org/essays/umlDataModelingProfile.html Scott Amblers own profile for UML database models.

Fall 2007

http://www.cis.ksu.edu

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

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

http://www.cis.ksu.edu

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

http://www.cis.ksu.edu

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

http://www.cis.ksu.edu

CIS 764 Database Systems Engineering

UML tutorials: OMG (Object Modeling Group) http://www.uml.org/

Rational / Borland (old, but simple) http://dn.codegear.com/article/31863

Fall 2007

http://www.cis.ksu.edu

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

http://www.cis.ksu.edu

10

CIS 764 Database Systems Engineering

Manage Profile Photo Manage Photos Manage Album Photos

Manage Profile user Add Friend

Manage Friends

Delete Friend

Scrap Friend

Create Manage Communities Delete

Post Message

Join

Fall 2007

http://www.cis.ksu.edu

11

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 users 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

http://www.cis.ksu.edu

12

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

http://www.cis.ksu.edu

13

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

14

CIS 764 Database Systems Engineering


FriendsList.aspx

EditProfile.aspx

CommunityScraps.aspx

Communities.aspx

Community.aspx

Login.aspx

Profile.aspx

Logout.aspx

CommunityEdit.aspx

ScrapBook.aspx

Album.aspx

AlbumZoom.aspx

AddFriend.aspx

Fall 2007

http://www.cis.ksu.edu

15

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

16

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

17

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

18

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

http://www.cis.ksu.edu

19

CIS 764 Database Systems Engineering

CreateCommunity(c_name : String, c_pic : String) : Boolean pre : Community.allInstances.c_name->excludes(c_name) post : Community.allInstances.c_name=Community.allInstances.c_name@pre->including(c_name) post : Community.allInstances.c_pic=Community.allInstances.c_pic@pre->including(c_pic) DeleteCommunity(c_id : Integer) pre : Community.allInstances.c_id->includes(c_id) post : Community.allInstances.c_id=Community.allInstances.c_id@pre->excluding(c_id) post : Community.allInstances.c_name=Community.allInstances.c_name@pre->excludes(c_name) post : Community.allInstances.c_pic=Community.allInstances.c_pic@pre->excludes(c_pic)

Fall 2007

http://www.cis.ksu.edu

20

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

21

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

http://www.cis.ksu.edu

22

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

23

CIS 764 Database Systems Engineering

Now the reverse engineering process:

Fall 2007

http://www.cis.ksu.edu

24

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

25

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

26

CIS 764 Database Systems Engineering

Manage Profile Photo Manage Photos Manage Album Photos

Manage Profile user Add Friend

Manage Friends

Delete Friend

Scrap Friend

Create Manage Communities Delete

Post Message

Join

Fall 2007

http://www.cis.ksu.edu

27

CIS 764 Database Systems Engineering

Fall 2007

http://www.cis.ksu.edu

28

CIS 764 Database Systems Engineering

End

Fall 2007

http://www.cis.ksu.edu

29

Вам также может понравиться