Analysis models and design models

Slides:



Advertisements
Similar presentations
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Systems Analysis and Design in a Changing World, 3rd Edition
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML (Unified Modeling Language)
11 Systems Analysis and Design in a Changing World, Fifth Edition.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Deployment Diagram.
Elaboration popo.
Appendix 3 Object-Oriented Analysis and Design
CHAPTER
UML Diagrams: Class Diagrams The Static Analysis Model
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 1: Introduction to Systems Analysis and Design
Working in the Forms Developer Environment
Deployment Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
COMPONENT & DEPLOYMENT DIAGRAMS
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
Online Shopping APP.
UML dynamic Modeling (Behavior Diagram)
The Object Oriented Approach to Design
Chapter 2: Database System Concepts and Architecture
Unified Modeling Language
UML Class Diagram.
Chapter 20 Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, 6th Edition
UNIT – V.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Software Design Lecture : 15.
An Introduction to Software Architecture
Copyright 2007 Oxford Consulting, Ltd
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Introduction to OOAD and the UML
Software Development Process Using UML Recap
ITEC324 Principle of CS III
Presentation transcript:

Analysis models and design models Class Diagrams Use Case Diagrams Sequence Diagrams Textual descriptions of UC State Diagrams Activity Diagrams Package Diagrams Detailed Class Diagrams - design Sequence Diagrams Database schema User Interface Component Diagram Deployment Diagram System security and control

Detailed Class Diagram Go through the use cases Select the domain classes that are involved in each use case; Check the preconditions and postconditions for their completion. Add a controller class to be responsible for the use case Determine the requirements for navigational visibility Fill in the attributes of each class with visibility and type Note: Many times multiplicities are removed from the diagram to focus on navigation, but they can be retained

Visibility of navigation The ability of an object to see and interact with another object Achieved by adding to a class a variable reference to an object (object reference variable) Appears as an arrow at the end of the association - The customer can see and interact with the Sale

Rules for navigability One-to-many associations that indicate a superior-subordinate relationship ensure navigation from superior to subordinates Mandatory associations, in which objects in a class can not exist without objects in another class, usually provide navigation from the most independent to the most dependent class When an object needs information from another object, you may need a navigation arrow

Class Methods You can use the CRC - Class, Responsibility, Collaboration cards technique What are the responsibilities of a class and how it collaborates with other classes to realize the use case It is obtained through brainstorming You can use detailed sequence diagrams - each message received by an object of a class must have a corresponding method in that class

CRC examples

Protection against change A design principle is to separate the parts that are stable from the parties that undergo numerous changes. Separate the forms and pages in the user interface that have a high probability of changing from the logic of the application. The connection to the database and SQL logic that are likely to change is kept in separate classes from the application logic Use adapter classes that can change for interaction with other systems If you choose between two design variants, choose one that offers greater protection against change

Design of the database It starts from the class model The structure of the database is selected Typically we work with relational databases, but there may be platforms that work with object-oriented databases Designing the DB architecture (distributed, etc) Design the schema of the database Tables and columns in relational model Design the referential integrity constraints References through external keys

Designing the interfaces After completing the use case diagrams and the first stable version of interaction and classes diagrams are developed, it is recommended to implement a prototype of the IT system. This prototype is called interface prototype because it has the role to: Refine the relationships between actors and interface classes; Obtain feedback from the client (client) on the visual aspect of the application.

Designing the interfaces The first step - investigating the actors' expectation on the interface by completing specific questionnaires consisting of the following questions: What level of training (computer science) the actor requires to achieve a certain functionality? Does the actor have working experience in window-based environments? Does the actor have experience in using other automated process modeling systems? Is it necessary to consult documents / catalogs in parallel with the use of the application? Does the actor want to implement 'rescue / restoration' facilities?

Designing the interfaces The goals of the prototype are: Setting interface requirements for key application functionalities; It demonstrates to the client (in a visual form) that the project requirements have been well understood and are achievable; The start of the development phase of the standard interface elements.

Designing the interfaces Screen structure maps (charts) are used to describe the flow of the application following the main ways of use. Representation : Square shapes for modal window representation (requires a user response to continue an activity). Square shapes with rounded corners for the representation of non-modal windows The crossing direction shows the window navigation path.

Windows that contain Tabs Screen structure diagram Class management Search teacher Main window Search student

Component diagram A component diagram shows the dependencies between different software components that make up an IT system. These dependencies are: Static - occur in the compilation or link-editing steps Dynamic - occur during execution A component is a software module (source code, binary code, dll, executable etc) with a well-defined interface.

Graphical representation of components in UML Component diagram Usually, the name of a component is the name of the file represented by the component. Objects implemented by a component instance are represented graphically inside the component instance symbol. Graphical representation of components in UML

Component diagram The component diagram is a graph of components between which there are dependency or composition relationships (components physically included in other components). Component dependencies are graphically represented through interrupted lines between a client component and a service provider component, targeting the vendor component. The dependency relationship means that the classes included in the client component can inherit, instantiate or use classes included in the vendor component. There may also be relationships of dependence between components and interfaces of other components, relationships that mean that a client uses vendor component operations

Component diagram Examples of predefined stereotypes for components: <<Main Program>> <<SubProgram>> <<Package>> <<DLL>> <<Task>> <<EXE>>

Component diagram example

Deployment diagram Deployment diagrams show the configuration of the processing elements during execution and the components, processes and objects they contain. A deployment diagram is a graph of nodes connected through communication associations. A node is a physical entity that is a processing resource with memory and processing capabilities (computing devices, human resources, mechanical processing resources). A node is graphically represented by a parallelepiped. A node type has a name associated, and an instance of a node has (optionally) an instance name and a type name (instance name: type name). An association between two nodes indicates the existence of a communication path between nodes.

Deployment diagram Deployment diagrams can be used to represent components that may belong to certain nodes by embedding the component symbol within the symbol representing the node. There may also be dependency relationships between components.

Deployment diagram Deployment diagrams contain two types of nodes: Execution environments and devices. Execution environments are hardware components capable of running programs. Devices are non-computing hardware components. The name associated with a device is generally generic (eg printer, modem, terminal etc.) A connection is a hardware link (generally bidirectional) between two devices or processors.

Deployment diagram example