Sysc 3100 System Analysis and Design1 Summary of the course.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Unified Modeling Language
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
The Design Discipline.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Changing Perspective From Structured to Object-oriented.
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.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
OO Methodology Elaboration Iteration 3 – Part 2 Refining Models.
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.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Introduction to OOAD and the UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
UML (Unified Modeling Language)
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
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.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Basic Characteristics of Object-Oriented Systems
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Systems Analysis and Design With UML 2
Dynamic Modeling of Banking System Case Study - I
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Unified Modeling Language
University of Houston-Clear Lake
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Analysis models and design models
Software Design Lecture : 15.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Chapter 4 System Modeling.
Appendix A Object-Oriented Analysis and Design
Introduction to OOAD and the UML
Presentation transcript:

Sysc 3100 System Analysis and Design1 Summary of the course

Sysc 3100 System Analysis and Design2 Context of the course Software Development activities Implementation SW Modeling, Analysis, Some design Design and Process

Sysc 3100 System Analysis and Design3 UML Diagrams Class Diagrams –Classes (objects) and their relationships Statechart Diagrams –State-base behavior of classes Use Case Diagrams –Use cases (main functionalities of the system) and their relationships between each other and the actors (external world) of the system Sequence Diagrams / Collaboration Diagrams –Sequence of messages exchanged by objects for the realization of use cases Package diagrams/Component Diagrams / Deployment Diagrams –Physical mapping of logical elements Activity Diagrams –Sequence of activities, for instance for a complex operation

Sysc 3100 System Analysis and Design4 Functional Modeling Dimensions Structural Behavioural class diagrams component diagrams deployment diagrams state diagrams collaboration diagrams sequence diagrams activity diagrams use case diagram use cases activity diagrams

Use Case Diagram open_account withdraw_cash loan_application clear_checks get_report Customer Manager Loan Officer Clerk Cash Dispenser

Class Diagram Customer Product stock_level ID buys Print_out_Detail name cost Non_Discrete_Product price_per_gram Discrete_Product price_per_item Database stores Laser Reader Scales Beeper grams Perishable_Product sell_by_date Central Control Point is_warned_about activates weighsidentifies activates {disjoint, complete} {disjoint, incomplete} 1 1..* 0..*

Sequence Diagram ob3:C3ob4:C4 ob2:C2 ob1:C1 op() [x>0] foo(x) [x<0] bar(x) more() doit(z) doit(w)

Communication Diagram b : Bill p : POS_Controller product_information (p : Product, level : Integer) [discrete] 6: price = get_item_price() : Integer d : Display Interface 13: update_total (t : Integer) p : Product c : CCP_Interface [non-discrete] 9: price = get_gram_price() : Integer [non-discrete] 10: grams = get_weight() : Integer 3: d = get_details() : Print_Out_Details [perishable and expired] 2: product_expired() 5: print_details (d : Print_Out_Details) [perishable] 1: sell_by = get_sell_by_date() : Integer s : Scales_Interface [expired] 2: product_expired (p : Product) [discrete] 8: check_stock (CCP : CCP_Interface, level : Integer) 8.1: stock_low (ID : Integer) 4: add_details (d: Print_out_Details) [discrete] 7: add_to_total (price : integer) 12: t = get_total() [nondiscrete] 11: add_to_total (x : integer)

State machine diagram DialTone do / play dial tone Timeout do / play message Dialing Connecting Talking Pinned Invalid do / play message Busy do / play busy tone Ringing do / play ringing tone callee hangs up callee answers connected busy dial digit (n) [valid] /connect dial digit (n) [invalid] dial digit (n) [incomplete] 15 sec Active phone# Idle caller hangs up /disconnect lift receiver /get dialedtone

Activity Diagram find books display no books message display book sort books display books print book print books Bookshelves Display Printer Book_list [ordered] Book_list [unordered] Book_list [ordered] Book

Internal structure diagram

Collaboration diagram

Component definition

Component diagram

Deployment diagram (instance level)

Deployment diagram (descriptor level)

Package diagram

Sysc 3100 System Analysis and Design18 UML and SW Engineering Principles 1.Rigor: Well-defined, repeatable, technically sound steps (based on method, technique). UML provides the means, though precise modeling, of being rigorous while specifying and designing a system. Though the standard is not perfect, it is an evolving standard and supporting tools are improving. 2.Separation of concerns: Concerns may be separated in time (e.g., life cycle phases), product views (e.g., UML views), product parts (subsystems, components) 3.Modularity: Software systems are decomposed into simpler pieces. UML provides the concept of package (associated with precise visibility rules, dependency links) so as to model subsystems.

Sysc 3100 System Analysis and Design19 UML and SW Engineering Principles 4.Abstraction: Identify important aspects and ignore non- relevant details for the task at hand. All UML diagrams can be defined at different levels of abstraction. For example the type of messages or the fact that objects are active does not have to be specified in the early stages of an interaction diagram. Early class diagrams only contain application domain classes (entity). UML is flexible in terms of using the various diagrams.

UML and SW Engineering Principles 4.Anticipation of change: How to account for potential change and limit the side effects? UML as a notation does not directly address this problem. But by facilitating the documentation of the system’s specification and design, it indirectly helps. 5.Incrementality: Stepwise development requires special care for managing documents, programs, test data, etc. of successive versions. Because UML-based development is use case driven, it helps define precise developments increments that are usable by the end user. Sysc 3100 System Analysis and Design20

Sysc 3100 System Analysis and Design21 UML diagrams in a life cycle Requirement elicitation Analysis Design Implementation Use cases and the use case diagram Analysis sequence diagrams Analysis class diagram (with domain classes only) Analysis statecharts (for complex classes) Design sequence diagrams Design class diagram Design statecharts Component and Deployment diagrams refinement

Object Oriented Design Open Closed Principle: Interfaces should be closed to change. The implementation below the interface should be open to modifiction. Each class should be restricted to a single responsibility. Subclassing should only be used where all subclasses behave exactly as the superclass – this is the Liskov Substition Principle. Do not use multiple inheritance. Rather, use delegation. Sysc 3100 System Analysis and Design22