CIS 764 Database Systems Engineering
L21: Status Project Reviews Testing
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Topics08 file posted.
Contact me if you have not selected:
topic for step-by-step tutorial topic for short paper which item to present to the class date for presentation (or if your selection was not recorded ) .
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Previous Thursday visits with each group for review of design documents:
Observations: (review of previous lectures) lecture =/= one-on-one discussion words =/= hands on learning
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Requirements analysis (elicitation): not all groups interpret the problem domain the same as the client ( in this case, the instructor). need face-to-face dialog using some early, client-level models. ?? Select individual images ?? Client or photo define an order ?? Order == album ?? Client isa ?? Person, magazine publisher
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Focus on key aspects extreme programming start with minimal, but essential system extreme design e.g. Ignore: add user, delete user, add profile, edit anything rather, build some sample customers + photographers into the data base. do allow login operation in prototype
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Use case model = diagram + supporting words about 5 key operations: some add or create object some business operation that completes/connects objects
operations should be verbs, may be compound names: add_photo (in the implementation, this becomes PhotoCollection.add( )
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
UC identifies operations, but not flow or sequencing: * data flow model http://en.wikipedia.org/wiki/Data_Flow_Diagram UML collaboration diagram * process model http://en.wikipedia.org/wiki/Business_process_modeling * UML swim lane model
later: include one of these in the model documents.
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Class models:
variations: names no attributes name+ attributes ( keys) name+attributes+ methods name+attribuates+methods+paramters add session/faade/ controllers In visual model a role label will become a code instance variable (not necessary to show the attribute)
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Class models:
<> vs <<>> multiple paths of same <> or <<>> needs invariant assertions
Fall 2008
http://www.cis.ksu.edu
CIS 764 Database Systems Engineering
Class models: name+ attributes ( keys) representation of state: status enumeration e.g. Status = [pending , confirmed, fulfilled, cancelled, ]
design issue .. Not constraint on implementation
CIS771 Verification finite state model checking
Fall 2008
http://www.cis.ksu.edu
10
CIS 764 Database Systems Engineering
Representation for image:
metadata
thumb and/or web image hi-res_image blob or image type (not included in the image table)
Fall 2008
http://www.cis.ksu.edu
11
CIS 764 Database Systems Engineering
GUI models: some screen sketches (or snapshots) (later) page flow model (equivalent to a state model) (show names of pages/state and transition events and conditions)
Fall 2008
http://www.cis.ksu.edu
12
CIS 764 Database Systems Engineering
Sequence models:
start with human actor (not a model class)
connects with GUI layer connects with controller / faade / session get/create/find method .
finally: check that the seq methods match the class model!!!
Fall 2008
http://www.cis.ksu.edu
13
CIS 764 Database Systems Engineering
Planning for implementation: a prototype even less proof of concept only a few operations few adds, some key business op
may mock up some operations.
for photos: how web page upload / download a file
Fall 2008
http://www.cis.ksu.edu
14
CIS 764 Database Systems Engineering
Testing: class project has minimal requirement: do some tests and report the list of what tests, both positive (add item, do operation) negative (bad input, wrong sequencing)
Fall 2008
http://www.cis.ksu.edu
15
CIS 764 Database Systems Engineering
Testing for real MSE project: (and for tutorial / paper topics) functional tests: unit tests, regression tests repeats tests after changes e.g. Junit http://www.junit.org/ GUI testing e.g. Squish http://www.froglogic.com/ performance tests: loading of number of web ops e.g. Jmeter http://jakarta.apache.org/jmeter/ http://en.wikipedia.org/wiki/JUnit database size tests: e.g. DTM Test data generator http://www.sqledit.com/dg/
Fall 2008
http://www.cis.ksu.edu
16
CIS 764 Database Systems Engineering
Plan for upto 3 group design reviews:
1. overview : domain level class , UC, GUI
2. methods and seq models 3. process, assertions
Thursday schedule??
Fall 2008
http://www.cis.ksu.edu
17