Download presentation
Presentation is loading. Please wait.
Published byKelley Patterson Modified over 8 years ago
1
Sysc 3100 System Analysis and Design1 Summary of the course
2
Sysc 3100 System Analysis and Design2 Context of the course 24002110 3100 4800 Software Development activities Implementation SW Modeling, Analysis, Some design Design and Process
3
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
4
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
5
Use Case Diagram open_account withdraw_cash loan_application clear_checks get_report Customer Manager Loan Officer Clerk Cash Dispenser
6
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..* 1 1 1 1 0..1
7
Sequence Diagram ob3:C3ob4:C4 ob2:C2 ob1:C1 op() [x>0] foo(x) [x<0] bar(x) more() doit(z) doit(w)
8
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)
9
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
10
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
11
Internal structure diagram
12
Collaboration diagram
13
Component definition
14
Component diagram
15
Deployment diagram (instance level)
16
Deployment diagram (descriptor level)
17
Package diagram
18
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.
19
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.
20
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
21
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
22
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.