a survey of modern software design methodologies spring 2002 eel5881 university of central florida...
TRANSCRIPT
![Page 1: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/1.jpg)
A Survey of Modern Software Design Methodologies
Spring 2002 EEL5881
University of Central FloridaCollege of Electrical Engineering & Computer Science
![Page 2: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/2.jpg)
ArgoUML Team
Dawid Trawczynski Chi-Hwa John Marcos Pete Lorins Leticia Izquierdo
![Page 3: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/3.jpg)
Overview
Methodology defined General representation of methodologies Determining factors Methodologies Survey
– Key points– Strengths & Weaknesses
Application to ArgoUML
![Page 4: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/4.jpg)
What Is a Methodology?
Methodology = model + techniques Set of procedures that one follows from
beginning to end of software development process
Principles or practices of an orderly procedure
![Page 5: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/5.jpg)
Design Methodologies
Systematic Formal
•JSD•DFD•OOD•SADT
•Z notation•B-method•VDM•ACL-2
![Page 6: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/6.jpg)
Determining Factors
Development environment Organization’s practices Nature/type of software User requirements Qualification & training of development team Availability of hardware & software resources Availability of existing design modules Budget & time schedule
![Page 7: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/7.jpg)
Major Software Life-cycle Models Waterfall Rapid Prototyping Incremental Extreme Programming Object-Oriented
![Page 8: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/8.jpg)
Methodologies Survey
![Page 9: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/9.jpg)
Methodologies Discussed
Top-down Method Bottom-up Method Jackson System Development Method Formal Methods Object-Oriented Methods Data Flow-Oriented Method
![Page 10: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/10.jpg)
Top-down & Bottom-up Design Methods Applicable to all methodologies Top-Down
– Top-level description decomposed to lower-level, small modules
Bottom-Up– Basic set of modules and interrelationships
formulated to higher-level concepts
![Page 11: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/11.jpg)
Top-down
Level-oriented design Iterative process of decomposition Allows for early evaluation of functional
capabilities Best suited when problem & environment
are well-defined– Ex: designing a compiler
![Page 12: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/12.jpg)
Bottom-up
Yields smaller and more agile programs Promotes code re-use Permits assessment of sub-modules Best suited when problem is ill-defined or
missing
![Page 13: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/13.jpg)
Jackson Systems Development Method Data structure-oriented design Based on a set of entities and their actions,
and of the attributes associated with these actions
Models specifications of I/O data structures using tree structured diagrams
Developed by Michael Jackson (1989)– Extension of Jackson Structured Programming
method (1975)
![Page 14: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/14.jpg)
JSD Steps
Entity Action Entity Structure Initial model Function System timing Implementation
![Page 15: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/15.jpg)
JSD Strengths
Well-defined framework Best suited for large systems Best suited for real-time system
development
![Page 16: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/16.jpg)
JSD Weaknesses
Structure clashes– Arises when correspondence of nodes in I/O
data structures can’t be determined– Resolved by creating producer/consumer
routine Need for look-ahead
– Arises when processing data depends on yet-to-be processed data
– Resolved by backtracking, or saving the state of the program before each processing sequence
![Page 17: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/17.jpg)
JSD Applications
Sequential programs– Inventory, finance, banking, insurance
Large systems where events need to be scheduled according to time– Process control, data processing
![Page 18: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/18.jpg)
Formal Method
“Formal methods provide a rigorous,mathematical based framework forspecifying, defining, and verifyingsystems”
Provides precise definition of– Consistency– Completeness– Specification– Implementation– Correctness
![Page 19: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/19.jpg)
Common Characteristics
Mathematically intensive
Precise language
Verifiable through proofs
Consistency
![Page 20: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/20.jpg)
Formal Languages
Z notation
B-method
VDM (Vienna Development Method)
PVS (Prototype Verification System)
ACL-2
![Page 21: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/21.jpg)
Example of ACL2
ACL2 !>(thm (implies (and (not (endp x)) (endp (cdr x)) (integerp n) (<= 0 n) (rationalp u)) (< (* (len x) u) (+ u n 3))))
![Page 22: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/22.jpg)
Formal Strengths
Suitable for defense related and NASA software (missile, rockets, etc)
Suitable for medical and real time Precise language Consistency Verification through proofs Reuse
![Page 23: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/23.jpg)
Formal Weaknesses
Mathematically intensive
Time consuming
Verification through proofs on idealize abstract machines
Drastic change in adoption
![Page 24: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/24.jpg)
Weaknesses Cont’d
May require hiring of experts
Not suitable at this time for large complex systems
Costly retraining
![Page 25: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/25.jpg)
OOD Method
“Object-oriented design (OOD) is concerned with developing an object-oriented model of a software system to implement the identified requirements.”
OO Programming started with the development of Simula language in Norway in 1967 - based on ALGO and the earlier discrete event simulation language Simula
![Page 26: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/26.jpg)
OOD Terms and Concepts
Objects - Basic units of construction.– Attributes– Procedures or Methods– Rules (Specifies how the features of the object
are related or under what conditions the object is viable.)
Identity– Objects have unique identity throughout their
lives in conceptual level.– Arguable in the program level.
![Page 27: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/27.jpg)
OOD Terms and Concepts Cont.
Encapsulation - Information hiding.– Attributes are only accessible through well
defined interface.– Implementation hidden from outside of the
object. Messages - method of communication
between objects.
![Page 28: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/28.jpg)
OOD Terms and Concepts Cont.
Inheritance - Implements the idea of specialization and generalization.
Polymorphism - “The ability to use the same expression to denote different operations.”
Substitutability - The ability to substitute subclasses for their parent classes.
![Page 29: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/29.jpg)
OOD Terms and Concepts Cont.
Delegation - Classless inheritance (The ability of objects to delegate to other objects the permission to perform operations on their behalf.
![Page 30: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/30.jpg)
OO Design (UML).
Package Diagrams - Relationship between packages.
Class Diagrams - Relationship between classes.
Use Case Diagrams - Relationship between system and actors.
State Diagrams - Sequences of states. Sequence Diagrams - Sequence of events.
![Page 31: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/31.jpg)
Package Diagram Example
![Page 32: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/32.jpg)
Class Diagram Example
![Page 33: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/33.jpg)
Use Case Diagram Example
![Page 34: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/34.jpg)
State Diagram Example
![Page 35: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/35.jpg)
Sequence Diagram Example
![Page 36: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/36.jpg)
OOD Methods UML
Booch
Coad and Yurdon
Fusion
Jacobson: Objectory and OOSE
LBMS SEOO
Rumbaugh OMT
![Page 37: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/37.jpg)
OOD Strengths
Reduction of complexity Reuse Long term lower cost and schedule time Abundance of CASE tools Availability of inexpensive hardware and
software tools Suitable for large complex projects Design encompasses entire process
![Page 38: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/38.jpg)
OOD Weaknesses
Commitment to formal training High learning curve Costly training Not suitable for small projects
![Page 39: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/39.jpg)
The Data Flow-Oriented Design (DFD) Methodology
The Data Flow-Oriented design approach is often called “Structured Design.”... Why?
It is an approach that uses information flow characteristic to design program structure. In other words, emphasis is placed on the processing or the operations performed by the data. Thus, design in this approach is information driven.
The above implies that information can be represented as a continuous flow, that is transformed as it is processed from node to node in the input-output stream.
![Page 40: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/40.jpg)
The Data Flow-Oriented Design (DFD) Means Of Mapping into The Design Structure
A DFD can be mapped into the design structure by two means:
1) Transform Analysis:Applied when the data flow in the input-output stream has clear boundaries. The DFD is mapped into a structure that allocates control to 3 basic modules:
Input – Process – Output
2) Transaction Analysis:Applied when a single information item causes flow to branch along one of many paths. The DFD is mapped to a substructure that acquires and evaluates a transaction while another substructure controls all the data processing actions based on a transaction.
![Page 41: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/41.jpg)
Examples of DFD Design Methodologies
Structured Analysis & Design Technique (SADT):
The structured analysis and structured design methodology is used to explore systems and software at a higher conceptual level and help to identify elements that are critical to success. The many tools of SASD include context diagrams, event lists, data dictionary, entity relationship diagrams, structure charts and state transition diagrams.
System Design (SD) Methodology:
In this methodology, we use Data Flow Diagrams and Charts as graphical techniques that depicts information flow and the transforms that are applied as data moves from input to output.
![Page 42: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/42.jpg)
Software Design Methodology Classification
As a measure of recapitulation, the following are the methodologies that my group decided to focus on... My focus was on the SD method of DFD.
Method Design Type Concept
SD DFD Data Flow Diagrams and Charts --Myself
JSD Data structure-oriented design
Data Structures and Process Network -- Leticia
OOD Object-oriented Object Encapsulation -- John
![Page 43: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/43.jpg)
Data Flow Diagram NotationBasic Data Flow Notation
Rectangle (external entity) - a producer or consumer of information that resides outside the bounds of the system to be modeled
Circle (process) - a transformer of information that resides within the bounds of the system to be modeled
Line with an arrow ( data item) - a single item, or a collection of data items. Arrow head represents the direction of the data
4) Two parallel lines (data store) - a repository of data that is to be stored for use by one or more processes; may be as simple as a buffer or a queue or as sophisticated as a relational data base
![Page 44: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/44.jpg)
Simple Example Of A Data Flow Diagram
The Following Depicts an Online Ordering System:
![Page 45: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/45.jpg)
UML Design Methodology
![Page 46: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/46.jpg)
UML what is it? Unified Modeling Language Allows for Abstract Level Programming Avoids programming details UML specifies, visualizes, constructs, and
documents system-intensive process Contains and expresses knowledge about a system
in an easy to interpret fashion thru diagram descriptions
Gives a standard way of communicating system designs and details
![Page 47: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/47.jpg)
UML is not:
A visual programming language A tool or repository specification A process
UML enables processes and designs
![Page 48: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/48.jpg)
UML – Process Independence
UML itself is only a standardized notationWe still need formal processes or methodsDesign processes that may implement UML are:
Generic Process Cleanroom Process Booch Process Objectory Process Shaller-Mellor Process Object Modeling Technique (OMT) Process
![Page 49: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/49.jpg)
OMT Process Overview
Creation of analysis models that characterize requirements for the proposed system
Design of frameworks, architecture and strategies for the system
Detailed object design in a target language
(ArgoUML = Java )
![Page 50: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/50.jpg)
OMT Process Flow Diagram
![Page 51: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/51.jpg)
OMT Models
In order to realize analysis, system design, and object design OMT developed models.
Object Model – defines system structure Dynamic Model – temporal evolution of
system objects and behavior of those Functional Model – operations of system’s
objects
![Page 52: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/52.jpg)
UML and OMT
OMT models are often realized in UML due to UML’s natural way of implementing these models
Goal: Construct a diagram that depicts a model. It will contain all concepts and knowledge from “real world” that are important to an application
UML provides diagram structures- these structures allows for clear representation of object, dynamic, and functional models
![Page 53: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/53.jpg)
OMT Modeling Steps Identify object classes Prepare a data dictionary Identify associations between objects Identify attributes of objects and links Organize and simplify object classes using
inheritance Verify access paths Iterate and refine model Group classes in modules
![Page 54: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/54.jpg)
UML Structure Diagrams
To implement or visualize models we need to create UML structure diagrams.
Class diagram Use case diagram Message trace diagram Object message diagram State diagram Module diagram Platform diagram Operational specification
![Page 55: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/55.jpg)
UML Notation Examples
![Page 56: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/56.jpg)
Class Diagram – Static System Structure
Shows classes of the system and relationships
![Page 57: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/57.jpg)
Object Message Diagram
Used to describe logic for a case scenario
![Page 58: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/58.jpg)
Other Diagrams I
Use case depicts external users of the system and how the system interacts with the user
The message trace diagram depicts a single scenario of stimulus and response interchanges between a specific object and its external users
![Page 59: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/59.jpg)
Other UML Diagrams II
The state diagram describes aspects of the behavior of a system and serve as formal specifications of the behavior of a class
The module diagram provides a visualization of the elements of the object model in terms of their allocation to physical modules
![Page 60: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/60.jpg)
Other UML Diagrams III
The platform diagram provides a visualization of the physical topology upon which a software system is designed to execute
An operation specification is a template for use in describing an operation of an object
![Page 61: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/61.jpg)
Conclusion
UML makes complex process designs simpler, easier to understand, organize and modify
Currently Java, C++, and Smalltalk versions of UML exist
![Page 62: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/62.jpg)
ArgoUML ProjectUML Design Methodology
![Page 63: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/63.jpg)
Dependencies
Software development environment
• Waterfall model
• Team with flexible hierarchy
Organization's practices
• Use whatever design that gets the job done
Nature or type of software being developed
• ArgoUML
![Page 64: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/64.jpg)
Dependencies
Users’ requirements
• Well understood and precise
Qualification and training of the S/W development team• Java and C++
• Some Ada and Fortran
![Page 65: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/65.jpg)
Dependencies
Availability of hardware and software resources
• ArgoUML
• Servers and workstations
• Home PCs
![Page 66: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/66.jpg)
Dependencies
Budget and time schedule
• No budget (free software)
• One semester time constraint
![Page 67: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/67.jpg)
References http://www.csam.iit.edu/~cs561/dataflow/dataflow.html http://userpages.umbc.edu/~khoo/survey1.html http://www.smartdraw.com/resources/centers/software/ssadm.htm http://dspace.dial.pipex.com/jacksonma/ http://www.smartdraw.com/resources/centers/software/jsd.htm http://cisx2.uma.maine.edu/NickTemp/JSP&JSDLec/jsd.html http://www.paulgraham.com/progbot.html http://userpages.umbc.edu/~khoo/survey2.html
![Page 68: A Survey of Modern Software Design Methodologies Spring 2002 EEL5881 University of Central Florida College of Electrical Engineering & Computer Science](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e705503460f94b6e154/html5/thumbnails/68.jpg)
References Formal methods
http://shemesh.larc.nasa.gov/fm/index.html
http://www.afm.sbu.ac.uk/
http://www.cs.ubc.ca/spider/kwong/se.html#formal
http://wwwsel.iit.nrc.ca/favs/FMfavs.html
Object-Oriented Design
Graham, Ian. Object-Oriented Methods Principle & Practice Third Edition. Great Britain: Addison-Wesley, 1991.
http://www.kb.nl/coop/elag/elag95/papers/183.html
http://www.well.com/user/ritchie/oo.html
http://www.cetus-links.org/
http://catalog.com/softinfo/objects.html
http://www.rational.com/uml/index.jsp