CIS 764 Database Systems Engineering

Slides:



Advertisements
Similar presentations
Documenting Information Systems
Advertisements

Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Automating Tasks With Macros
Automating Tasks With Macros. 2 Design a switchboard and dialog box for a graphical user interface Database developers interact directly with Access.
Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.
Creating Web Page Forms
6 th Annual Focus Users’ Conference Application Editor and Form Builder Presented by: Mike Morris.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Database Applications – Microsoft Access Lesson 2 Modifying a Table and Creating a Form 45 slides in presentation Accessibility check 9/14.
程建群 博士(Dr. Jason Cheng) 年03月
Chapter 7 Using Data Flow Diagrams
Fall CIS 764 Database Systems Engineering L3: Status Reverse Engineering Assignment JDeveloper Assignment.
Fall CIS 764 Database Systems Engineering L21: Status Project Reviews Testing.
PHP meets MySQL.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Fall CIS 764 Database Systems Design L8. Web ….
Lecturer: Gareth Jones. How does a relational database organise data? What are the principles of a database management system? What are the principal.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Sequence Diagrams And Collaboration Diagrams HungNM.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 10 1 Microsoft Office Access 2003 Tutorial 10 – Automating Tasks With Macros.
CSC 240 (Blum)1 Introduction to Access CSC 240 (Blum)2 Click on the Access desktop icon or go to Start/All Programs/Microsoft Office/Microsoft Office.
Office of Housing Choice Voucher Program Voucher Management System – VMS Version Released October 2011.
Work with Tables and Database Records Lesson 3. NAVIGATING AMONG RECORDS Access users who prefer using the keyboard to navigate records can press keys.
Mr C Johnston ICT Teacher
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
Fall CIS 764 Database Systems Engineering L11: Object Relational Mapping … (a) ORM, Object persistence (b) Pets sequence.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
Comp 1100 Entity-Relationship (ER) Model
ASP.NET Programming with C# and SQL Server First Edition
Compatible with the latest browsers; Chrome, Safari, Firefox, Opera and Internet Explorer 9 and above.
Y.-H. Chen International College Ming-Chuan University Fall, 2004
ATS Application Programming: Java Programming
Chapter 3 DOCUMENTING ACCOUNTING SYSTEMS
Project Management: Messages
Processes and threads.
Chapter 4: Business Process and Functional Modeling, continued
Component and Deployment Diagrams
Business Process Modeling
Systems Analysis and Design
The Movement To Objects
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Architecture Concept Documents
M.M. Pickard, PhD A Primer on Use Cases (Reference: UML Superstructure Specification, v2.1.1)
Chapter 6 Data flow diagramming ACCOUNTING INFORMATION SYSTEMS
IS444: Modern tools for applications development
Week 10: Object Modeling (1)Use Case Model
IS444: Modern tools for applications development
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
The Process of Object Modeling
Un</br>able’s MySecretSecrets
Recommended Budget Reductions
I-Supplier Training Guide
Introduction to Access 2003
IMPORTANT NOTICE TO STUDENTS:
Week 12: Activity & Sequence Diagrams
FAFSA-Apply Today! Presented by McDaniel College.
Forms, cont’d.
Evaluating Compuware OptimalJ as an MDA tool
CIS 375 Bruce R. Maxim UM-Dearborn
Welcome.
Use Case Model Use case diagram – Part 2.
ITEC 3220A Using and Designing Database Systems
Chapter 4: documenting information systems
Welcome 1 This is a document to explains the chosen concept to the animator. This will take you through a 5 section process to provide the necessary details.
Evaluations and Trials in Alma
Information system analysis and design
Presentation transcript:

CIS 764 Database Systems Engineering L11.2: Class and Sequence models Pets and homework examples. (Late posting) (These examples were presented in class using transparencies.) Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Following are some remaining issues with class models. An example model is in the next slide. It is not readable on the slide, but you can save it and zoom in. The list of issues follow (with evaluation of the example in parentheses). Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Class model notes: * no need to show getters,setters for attributes (good) (these are understood). * key methods should be shown (good) and often there is not room for parameters, so the class signatures (methods and parameters) might be listed in an associated text document. (missing) Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering * the “createEntity(…) method should not be in the Entity class; [#] e.g. Order should not contain “createOrder(…) (error) Instead, the create method must be in either (i) the parent class (if there is one) (ii) an associated session bean (which Oracle calls a Façade class). In either case, the class with “create” should show composition (the solid diamond). (missing) * it would help to annotate classes as either <entity> or <session> [#] Note: You could put the createEntity in the Entity class and write your own sql or calls to the entity manager, but that would not make sense to others maintaining your code, and it would not use “container managed persistence”. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering * whenever possible, keep a top-down and left-right ordering of parent to sub-entity classes. e.g. the InventoryManager session class (missing) should be above the InventoryItem class. Note: I have observed MSE projects tend to use just a few (even a single manager/session) class for several entity collections. That is not so pretty, but reasonable and efficient for small models. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Following is another example for comparison. Again, you might zoom the view of the image. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering The next step in the Pets design was to build some sequence models. Suggested operations were: user login user purchase a pet (the primary use case). In class, some hints were given and then several models were reviewed. Later, the following were given as examples. See comments after the diagram. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Sequence models: * the actor on the left is external to the middleware (it is not one of the model classes). Show a name different from the model classes. Some tools will not draw the human icon; in that case, label the box as <actor> . * the human communicates with some GUI instance. It is not necessary to show the actual GUI objects, as that should be clear from the page flow. * the human can only input / receive scalar values (submitted via forms or controls); the GUI may read/write files to the user environment. * the GUI usually first communicates with some session/façade object. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering * If there is only a single instance of a class, then it is not required to give an instance name. * If multiple instances are involve (as Customer), then the instance name should be shown. * An instance is a row in the backing table; it cannot be used unless either: (i) it was identified on a prior sequence diagram (ii) there is a get( ) operation on the parent class (iii) there is a create( ) operation by the parent class Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering * Each message is shown as a method (with parameters) entering at the top of an activation record rectangle (usually from the left). * An activation record rectangle for a model object cannot terminate until each message sent from the rectangle is completed. The exceptions to this rule are: (i) GUI components (ii) separate, asynchronous threads. * Each method shown (entering the top of an activation record) must match the method name the class as shown in the class model (or separate signature design for the class). Note: This can only be checked by comparing the sequence with the class model. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Following two sequences are for the ejb3 assigment previously given. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Next step (for off-campus): Build sequence model for customer to select and order a pet. Assume there are only a few pets; names of pet types are all shown on the browse/order page. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Further issue: In general, a class model does not uniquely define the model behavior. Multiple sequence model help to do that. In addition, assertions help to give meaning to the model. (That is the focus of the 771 course on software specification and verification.) The following briefly show some assertions. However, assertions are mostly left for the 771 course. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Assertions: (i) invariants: whenever there are multiple paths to a class in the class model, some clarifying invariant should be given. For example, for the first class model, for the two paths SysManager -> InventoryItem -> Pet and SysManager -> Order -> Pet the clarifying assertion might be: for each distinct Order O1,O2 : O1.Pet =/= O2.Pet for each Order O: O.Pet in InventoryItem.Pet Note: the last invariant exposes the missing “status” field. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering Assertions: (i) pre/post (or in/out) assertions for each method. e.g Order.addPet( p: Pet) pre: p.available post: p in Order.Pet and not p.available or Order.addPet( pName: String) pre: exist p in Pet : p.available post: p in Order.Pet and not p.available. Fall 2007 http://www.cis.ksu.edu

CIS 764 Database Systems Engineering end. Fall 2007 http://www.cis.ksu.edu