Sequence Diagram Generator Presentation II MSE Project / Fall, 2005 Samer AliSaleh Major Advisor: Bill Hankley.

Slides:



Advertisements
Similar presentations
Airline Reservation System
Advertisements

Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
1 SnIPS Implementation and GUI 3 rd Presentation Tsung-Hsi Wu, M.S.E. Department of Computing and Information Science Kansas State University.
Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
ELP Helper MSE Project Presentation II Aghsan Ahmad Major professor: Dr. Hankley.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Lecture 7: UML Class Diagrams CSE 111 7/15/20151Copyright W. Howden.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Comm Operator Tutorial How to send the data after receiving specific data automatically Serial Port Tool
BRUE Behavioral Reverse Engineering in UML as Eclipse Plugin MSE Presentation 1 Sri Raguraman.
Object-Oriented Software Testing. C-S 5462 Object-Oriented Software Testing Research confirms that testing methods proposed for procedural approach are.
PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University.
Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.
AgentTool (III) Dynamic MSE Presentation 1 Binti Sepaha.
ELP Helper MSE Project Presentation I Aghsan Ahmad Major Professor: Dr. Bill Hankley.
CIS 895 – MSE Project KDD-Research Entity Search Tool (KREST) Presentation 2 Eric Davis
Multi-agent Research Tool (MART) A proposal for MSE project Madhukar Kumar.
Comm Operator Tutorial How to send the same data at fixed interval time automatically Serial Port Tool
Software Testing Course Shmuel Ur
12 Systems Analysis and Design in a Changing World, Fifth Edition.
4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Mastergoal Machine Learning Environment Phase 1 Completion Assessment MSE Project Kansas State University Alejandro Alliana.
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Mastergoal Machine Learning Environment Phase III Presentation Alejandro Alliana CIS895 MSE Project – KSU.
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
Systems Analysis and Design in a Changing World, 3rd Edition
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Software Construction Lecture 18 Software Testing.
UML-1 3. Capturing Requirements and Use Case Model.
VDM++ Tutorial Model Quality. Overview Introduction Assessing internal consistency Assessing external consistency.
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
Database Java Bean Feng Chen. Outline Tools and approaches Project overview Major contribution Project plan Cost estimate References Acknowledgment.
PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Performance Study of Message Passing in an Event Service: Java RMI vs. TCP Sockets Laxminarayan Muktinutalapati (Lux) Department of Computing and Information.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
MSE Presentation 1 Lakshmikanth Ganti
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Communication Model for Cooperative Robotics Simulator MSE Presentation 1 Acharaporn Pattaravanichanon.
AgentTool (III) Dynamic MSE Presentation 2 Binti Sepaha.
T Project Review RoadMappers I2 Iteration
Communication Model MSE Presentation II Acharaporn Pattaravanichanon.
Bogor-Java Environment for Eclipse MSE Presentation III Yong Peng.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
NAVSEA Liaison Scott Huseth Faculty Advisor Dr. Jiang Guo Team Members Areg Abcarians David Ballardo Niteen Borge Daniel Flores Constance Jiang June 3,
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Analysis Classes Unit 5.
Bogor-Java Environment for Eclipse
Introduction to UML Tutorial 1.
Week 10: Object Modeling (1)Use Case Model
Simulating Processes Motivation
Week 12: Activity & Sequence Diagrams
UmbrellaDB v0.5 Project Report #3
John D. McGregor Module 6 Session 1 More Design
Presentation transcript:

Sequence Diagram Generator Presentation II MSE Project / Fall, 2005 Samer AliSaleh Major Advisor: Bill Hankley

Presentation I Action Items Quality Assurance Plan. Quality Assurance Plan. Area covered by formal specification. Area covered by formal specification. Technical Inspectors. Technical Inspectors. Better GUI Prototype. Better GUI Prototype. Used Technology Used Technology

Action Item: Quality Assurance Plan Quality assurance plan is created and can be found on the following link: Quality assurance plan is created and can be found on the following link:

Action Item: Formal Specification Topic The Analyzer Rules were selected for formalization using OCL. The Analyzer Rules were selected for formalization using OCL. More details about the specification in the following slides. More details about the specification in the following slides.

Action Item: Technical Inspectors Judy Dizon (MSE) Judy Dizon (MSE) Patrcik Gallagher (MSE) Patrcik Gallagher (MSE) Inspection will be done during phase 3 of the project. Inspection will be done during phase 3 of the project. Inspection List can be found on the following link: Inspection List can be found on the following link:

Action Item: GUI Prototype Problem: Only Visio GUI diagrams were provided as a prototype. No Executable GUI. Problem: Only Visio GUI diagrams were provided as a prototype. No Executable GUI. Solution: an executable prototype is built with some functionality of each given requirement. Solution: an executable prototype is built with some functionality of each given requirement. Prototype demonstration will be given at the end, with an example. Prototype demonstration will be given at the end, with an example.

Action Item: Used Technology Writing Plug-in for Smart Development Environment (SDE) developed by Visual Paradigm Writing Plug-in for Smart Development Environment (SDE) developed by Visual Paradigm

Smart Development Environment Very powerful tool that has the needed functionality to fit any application Very powerful tool that has the needed functionality to fit any application Can be extended and integrated through different IDEs. Can be extended and integrated through different IDEs. Easier to write plug-in: Readable tutorial, and well organized API. Easier to write plug-in: Readable tutorial, and well organized API. Functionality Vs. Development Time Functionality Vs. Development Time Online Support Online Support

VP-SDE and IDE’s

VP-SDE Plug-in Architecture

Writing Plug-in Challenges…. Learning Curve: Learning Curve: - Very brief tutorial. - Uncommented API. Click here - Uncommented API. Click hereClick hereClick here Limited Interaction: Limited Interaction: - No listeners nor Events handling or processing. - No listeners nor Events handling or processing. Bugs in the API Bugs in the API - Bugs even in getters & setters No way to debug or trace exceptions No way to debug or trace exceptions

Design Architecture -Package Model Actions Handler Dialogs Controller Diagram Elements Models UML Diagrams SDE Diagram Manager

Design Arch. – Class Model Click Here to view the class diagram. Click Here to view the class diagram. Click Here Click Here

Design Arch.- Controller Domain model

Design Arch. – Analyzer Domain Model

Design Arch.- Sequence Diagram (Create New Sequence Diagram)

Design Arch. – Sequence Diagram (Create New Caller )

Design Arch. – Sequence Diagram (Create New Callee )

Design Arch.- Sequence Diagram (Create New Life Line Element)

Design Arch. – State Model (Sequence Diagram Generator)

Formal Specification Analyzer Part + Related Classes & Attributes. Analyzer Part + Related Classes & Attributes. 9 Classes and 13 associations 9 Classes and 13 associations 3 major invariants. 3 major invariants. Formal Specification is done using OCL and USE Formal Specification is done using OCL and USE

Formal Specification Sample 1 class IClass < IModelElement Attributes classID:String className:String Operations getAllFromEndAggregationsAndCompositionsToClasses():Set(IClass)=self.cl assFromAssociationEnd-> select (a|a.type=#AGGREGRATIONKIND_AGGREGATION or a.type=#AGGREGATIONKIND_COMPOSITED).toClass->asSet // This operation is used to generate the transitive aggregation set for a // given class For example if A aggregate to B and B Aggregate to C // then the operation for class A will generate the set {B,C} transitiveAggregation(s:Set(IClass)):Set(IClass)= if s-> includesAll (s.getAllFromEndAggregationsAndCompositionsToClasses())then s else transitiveAggregation(s-> union (s.getAllFromEndAggregationsAndCompositionsToClasses())->asSet) Endif end Return all the classes that the selected class has aggregation with If Selected class aggragation classes is Subset of Transitive_Set, return Transitive_Set Else Recursion(Transitive_Set U Aggregation_Classes)

Formal Specification Sample 2 //3--If Message corresponds to indirect Association and intermediate classes exist, then the sender // object / must have a reference to receiver object either by a pre outgoing message with a return // type of receiver or by an ingoing message with a parameter passes as receiver. context message:IMessageinv senderHasReferenceOfReceiverForIndirectASsociation: //Check if the message corresponds to indirect Association message.fromEnd.baseClass.classFromAssociationEnd->select (a|a.toClass->includes(message.toEnd.baseClass))->isEmpty And message.fromEnd.baseClass.allFromClassRelationship->select (r|r.relationToClass->includes(message.toEnd.baseClass))->isEmpty And message.fromEnd.baseClass.transitiveAggregation (message.fromEnd.baseClass.getAllFromEndAggregationsAndCompositionsToClasses())->includes (message.toEnd.baseClass) Implies // If Message corresponds to indirect association then check // if there is a pre message in which: message.sequenceDiagram.associatedMessages->exists (m| message.index<m.index and ( // 1.a pre message sender is the same as current message sender and // the return type of the message is the same as the class name (m.fromEnd = message.fromEnd and m.toEnd.baseClass.classOperations->select (op|op.name = message.name).returnType->asSet->includes(message.toEnd.name)) or //1.b pre messate receiver is the same as the current message sender and //the message has at least one parameter of type of current messate receiver. (m.toEnd = message.fromEnd andm.toEnd.baseClass.classOperations->exists (op|op.operationParameters.type->asSet->includes(message.toEnd.name)) )) ) Message Ends don’t have aggregation Message Ends don’t have association Message Ends have indirect relation Exists a message with a return type of receiver going from sender Exists a message going into sender with a parameter passed as type of receiver

Testing Plan Functional Testing. Functional Testing. Test case for each functional requirement. Test case for each functional requirement. ~ 80 test cases. ~ 80 test cases. Testing will be done as part of the assessment evaluation in phase 3 of the project. Testing will be done as part of the assessment evaluation in phase 3 of the project.

Testing Plan Each Test case consist of action to be taken, Pre condition & post condition that need to be satisfied. Each Test case consist of action to be taken, Pre condition & post condition that need to be satisfied. Sample Test Case: Sample Test Case: IDTest CasePre ConditionsPost Conditions CS_SDG_13 Create New Callee. No New Activation. No Return Message Callee Dialog is showing. No Existing life line object of type of the selected operation class. New object name is not given. Show Error Message. Select Existing Callee object must be Disabled

Project Plan & Cost Estimate COCOMO Model was used to estimate LOC, and Time. COCOMO Model was used to estimate LOC, and Time. Unadjusted FP = 68 Unadjusted FP = 68 Adjusted FP = Adjusted FP = Estimated SLOC = 2506 Estimated SLOC = 2506 Estimated Development Time = 5 months Estimated Development Time = 5 months

So Far…… Total time = 19,110 min. Total time = 19,110 min. Total Days = 90 days. Total Days = 90 days. Hours/Day = 19,110 / 90 / 60 ≈ 4 hours/day Hours/Day = 19,110 / 90 / 60 ≈ 4 hours/day Remaining Days = 150 – 90 = 60 days with 4 hours / day productivity. Remaining Days = 150 – 90 = 60 days with 4 hours / day productivity. Deadline: December 7 th, Only 30 days left. Deadline: December 7 th, Only 30 days left. Productivity should increase to 8 hours/day Productivity should increase to 8 hours/day

Expected Vs Estimated Time (months)

Current Vs Estimated LOC

Productivity