SE310 Analysis and Design of Software Systems
|
|
- Kerry Brown
- 6 years ago
- Views:
Transcription
1 SE310 Analysis and Design of Software Systems Lecture 5 Transitioning from Use Cases and Class Diagrams to Architecture Level of Design February 12, 2018 Sam Siewert
2 Reminders Assignment #2 Grading in Progress Assignment #3 Posted Exam #1 - Tues, 2/27, Review on Thurs 2/22 Same day as SE420 Study for related exams should reinforce material Assignment #3 Due 2/23 (Graded), Late 2/26 (Ungraded) Sam Siewert 2
3 More than One Way to Proceed with UML No Absolutely Right or Wrong Approach Balance of Behavioral and Structural Analysis (Models) with Details Deferred for Design Class / Object Models Unique to UML Activity and Interaction Overview (Objects from Classes) are Useful for High Level Behavior Sam Siewert 3
4 Domain Models Use Case Details UML is Universal Modeling Language [OMG, UML.org] Use to Support Requirements Analysis Start Here! USE Modelio 3.7 SD as your DESIGN TOOL OMG UML 2.5 Standard Structural Diagrams Start with Class Diagram and CRC Then Object Diagram Package and Deployment Behavioral Diagrams Start with Use Case Diagram Interaction Sequence Diagram after Class and Object Done Add State Machine and Activity Diagrams for concurrency and statefulness Helpful Validation and Verification Features for Design Integrated Models Checklists Completeness CPP and Java Code Generation Sam Siewert 4
5 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. SAMS/User Mgmt SAMS/Program Mgmt Create User Add Program SAMS Admin Software engineering principle applied: separation of concerns divide and conquer Delete User Update User Start Up Shutdown SAMS/Authentication SAMS Staff Delete Program Edit Program SAMS/End User Login Search for Programs SAMS End User SAMS Admin SAMS Staff Logout SAMS End User Display Program Detail Apply Online 7-5
6 Tying Use Case Back to Requirements Create Traceability R n is Described by Use-Case n Kung says Prioritize Requirements Desirements Help Distinguish Requirement Priority Based on Use and Use Case Based on Requirements Weight Drive Next Steps and Focus for Walk-throughs and Inspections based on Highest Column Scores or Perhaps Adjust Weightings Note on Requirements: Kung suggests prioritization Fits for want, but not need Could be market specific Alternatively weight UC Sam Siewert 6
7 Alternative UC Weighting If Requirement priorities are must only, weight UC instead E.g. to To sell our RAID system to enterprise customers, the product must have a disaster recovery feature However, the product can be sold to SMB (Small to Medium Business) without DR features Is DR a Use Case or a Requirement? R5 = asynchronous mirrored writes E.g. UC6 is DR, UC4 is Local Content Delivery Drop R5 Iff UC6 and UC4 irrelevant - i.e. UC1, 2, 3, 5 for SMB UC4, UC6 for enterprise UC1 UC2 UC3 UC4 UC5 UC6 score weight R1 X X 6 R2 X 2 R3 X 3 R4 X X 4 R5 X X 2 R6 X X 5 Sam Siewert 7
8 Agile with Use Cases Create Backlog Attack Highest Priority Use Cases First Schedule Scrums Around Use Cases Synchronize with SQA on Use Case Acceptance Testing Work with Customer Use Case Inspection or Walk-through Team Walk-throughs and Division of Labor, Planning and Backlog Refinement of Requirements Frequent Delivery of Small Increments (Use Case Design, Construction, Coding) What the System Includes and Does not (Boundary) Simple Easy to Share with Customer Sam Siewert 8
9 Minute Paper #3b Architecture Level Design is Specification and Design of Modules (Objects) and their Interfaces, So which UML Models might help most and why? Use Case? Class Diagram? Interaction Sequence Diagram (Object instances and method communication)? Sam Siewert 9
10 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Four Common Types of Systems a b c a b a/x c/z b/y x y c z (a) Interactive subsystem (b) Event-driven subsystem (c) Transformational subsystem (d) Database subsystem 6-10
11 Architecture Patterns No Pattern is Perfect Fit and Real Applications May Have Aspects (and Requirements) from Multiple Patterns Hybrid Architectures Combine Capabilities Classify First Based on Primary Use and Capabilities and Refine Through Agile XP, Scrum or Spiral Process 1. Transformational E.g. Image Processing 2. Interactive E.g. User Interface 3. Service Oriented Architectures Transactional E.g. Database Services Client/Server E.g. Web Browser, Disk Drives (Storage), File Systems 4. Event Driven E.g. Robotics, , Digital Control Hard Real-Time Event Driven E.g. Anti-lock Braking System (Digital Control with Specific Deadlines for Response to Events) Soft Real-Time Event Driven E.g. Digital Video for Cable or Netflix Best Effort Event Driven Reminder System Sam Siewert 11
12 Canny Edge Finder Threshold Control Consider a Transformation Continuous Image Processing with a Simple Control Added Sam Siewert 12
13 Activity Canny Interactive Demo Slider What is Going on? Think, Pair, Share 1. Is this Transformational? (Yes, image data to language, to another and then back to graphics overlay) 2. Is this Interactive? (Yes, hold Smart-phone with Google Translate in front of transformed image on Lecture slide to translate, select target language) 3. Is this Something Else? (Cloud Client/Server for backend translation services, Appears Best Effort but Limits Use?) 4. What are Key Capabilities and Requirements? (Translate from Set of Natural Languages to Others, Image Input, Limited to Simple Signs Interactive Overlaid Translation) 5. What Sorts of Applications Could We Use Canny For? Google Goggles (OCR + Translation) Sam Siewert 13
14 License Plate or Sign OCR MATLAB Example Reading a Sign Canny is Fundamental Step Transformational Capability in a Larger Application (OCR) Correct Threshold for Intensity Gradient to Segment Image Sam Siewert 14
15 Architecture Patterns No Pattern is Perfect Fit and Real Applications May Have Aspects (and Requirements) from Multiple Patterns Hybrid Architectures Combine Capabilities Classify First Based on Primary Use and Capabilities and Refine Through Agile XP, Scrum or Spiral Process 1. Transformational E.g. Image Processing 2. Interactive E.g. User Interface 3. Service Oriented Architectures Transactional E.g. Database Services Client/Server E.g. Web Browser, Disk Drives (Storage), File Systems 4. Event Driven E.g. Robotics, , Digital Control Hard Real-Time Event Driven E.g. Anti-lock Braking System (Digital Control with Specific Deadlines for Response to Events) Soft Real-Time Event Driven E.g. Digital Video for Cable or Netflix Best Effort Event Driven Reminder System Sam Siewert 15
16 Canny Edge Finder Threshold Control Consider a Transformation Continuous Image Processing with a Simple Control Added Sam Siewert 16
17 Activity Canny Interactive Demo Slider What is Going on? Think, Pair, Share 1. Is this Transformational? 2. Is this Interactive? 3. Is this Something Else? 4. What are Key Capabilities and Requirements? 5. What Sorts of Applications Could We Use Canny For? Sam Siewert 17
18 License Plate or Sign OCR MATLAB Example Reading a Sign Canny is Fundamental Step Transformational Capability in a Larger Application (OCR) Correct Threshold for Intensity Gradient to Segment Image Sam Siewert 18
19 Minute Paper #3b Architecture and Application of YOUR Interest Think about Architecture Patterns and Applications Discussed so Far Choose an Application that Emphasizes one of the Architecture Patterns and Describe Why it Interests You? Turn in Your Minute Paper Sam Siewert 19
20 Goals for Object Interaction Models 1. Show Instantiation and Use of Classes (From Class Diagram) 2. Describe Behavior 3. Validate Class Interfaces Based on Use 4. Review with Stakeholders Sam Siewert 20
21 OIM in the Methodology Context Business goals & needs Current situation Preliminary requirements Abstract & high level use cases, use case diagrams Software architecture Acquiring Requirements Deriving Use Cases from Requirements Allocating Use Cases & Subsystems to Iterations Use case-iteration allocation matrix Producing an Architecture Design Accommodating Requirements Change Domain model Domain Modeling Use case-iteration allocation matrix Iteration use cases Actor-System Interaction Modeling Behavior Modeling & Responsibility Assignment Deriving Design Class Diagram Expanded use cases & UI design Behavior models Test Driven Development, Integration, & Deployment Customer feedback Domain model Design class diagram (a) Planning Phase (b) Iterative Phase activities during each iteration control flow data flow control flow & data flow 9-21 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
22 Actor-System Interaction & Object Interaction Actor-system interaction Foreground processing of use case. Acquiring actor input and actor action. Displaying system responses. Object interaction Background processing of use case by objects. Designing high-level algorithms to process actor requests. Producing system responses Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
23 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Object Interaction Modeling Steps scenario descriptions scenario tables (3) Constructing scenario tables domain model, design class diagram from last iteration expanded use cases for current iteration (2) Describing scenarios business processes info. (4) Constructing sequence diagrams (1) Collecting info about business processes feedback, if any sequence diagrams (5) Review and inspection design sequence diagrams to deriving a design class diagram (chapter 11) 9-23
24 Guidelines for Scenario Construction Specify the normal scenario first (i.e., assume everything will go as expected). If needed, augment the normal scenario with alternative flows. Keep it simple and stupid --- leave details to coding. Leave exception handling to coding. It is sometimes desirable to construct a prototype to validate design idea Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
25 Sequence Diagram Notions and Notations Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. 9-25
26 Object Interaction Diagrams Object Interaction Model Object Interaction Diagrams (one or more) External Actors (from previously analyzed use cases) Instances of Classes from CRC or Domain Model Shows Message Sequences between Objects Useful for Capturing and Communicating Design (Design Patterns) See Kung examples which follow Sam Siewert 26
27 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Representing Various Object Instances Notation mycar: mycar: Car :Car :Car Notion and Meaning A named instance without a type, the type is not important, unknown, or to be determined at run time A named instance with a type, this is commonly used An unnamed instance with a type, the name is not important, or not used elsewhere in the sequence diagram Multiple instances or a collection of objects of a class 9-27
28 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Scenario Table to Sequence Diagram for each line of the scenario table: :object acted upon Case 1: subject is an Actor. Actor action + other objects/data object acted upon Example: card scanner: <<slide card>> Patron 9-28
29 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Scenario Table to Sequence Diagram object: Case 2: subject is an object and object acted upon is an actor. actor <<message>> Subject Subject Action Other Data / Objects Object Acted Upon system displays confirmation message Patron system: Patron <<confirmation message>> 9-29
30 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Scenario Table to Sequence Diagram Case 3: both subject and object acted upon are objects. Example : Subject :object acted upon action + other objects/data action performing cards canner: device control: send pid action performing 9-30
31 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Scenario Table to Sequence Diagram Case 4: both subject and object acted upon are the same (a special case of case 3). object1: action + data / objects return value if any Other Data/ Subject Subject Action Object Acted Objects Upon shipment compute base rate shipment shipment: compute base rate 9-31
32 Difference of Analysis and Design Analysis application problemoriented models application domain describes what the world is project-oriented decisions should allow design alternatives Design software solutionoriented models the software system prescribes a software solution system-oriented decisions usually reduces implementation choices 9-32 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
33 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Modeling a Manual Library System Patron presents id card to librarian. Patron <<id card>> :Librarian These are analysis sequence diagrams that model an existing system. Librarian pulls out patron s folder using id number. :Librain :PatronFolders <<uid, password>> get folder using patron id patron folder Patron 9-33
34 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. info exchange b/t actor and object Analysis/Informal Sequence Diagram :LoginGui an object of LoginGui class <<uid, password>> Patron the object is processing the request. Patron submits uid and password to LoginGui. :LoginGui :LoginController Patron <<uid, password>> <<msg>> verify uid and password <<msg>> LoginGui calls LoginController to verify the login. The controller returns a msg indicating result of verification. LoginGui shows msg to Patron. 9-34
35 From Analysis to Design :LoginGui :LoginController Patron <<uid, password>> <<msg>> verify uid and password <<msg>> LoginGui calls LoginController to verify the login. The controller returns a msg indicating result of verification. LoginGui shows msg to Patron. :LoginGui :LoginController Patron <<uid, password>> <<msg>> msg := verify (uid:string, password: Password) : String return value function call parameter & type return type 9-35 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
36 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Sequence Diagram: Flow of Control :LoginGui :LoginController Patron 1 <<uid, password>> <<msg>> 3 2 msg := verify (uid:string, password: Password) : String (1) Patron submits uid and password to LoginGui object. (2) LoginGui object calls the verify function of a LoginController object. The called function returns msg of type String. (3) The LoginGui object shows msg to patron. 9-36
37 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. outside library system real world object within the library system patron An Analysis Sequence Diagram id card, book :Librarian [patron folder not found] error msg, id card get patron folder w/id patron folder f :Patron Folder [patron folder found] get book card book card collection book:book [patron folder found] insert book card into patron folder f:patron Folder [patron folder found] id card, book [patron folder found] return patron folder This an analysis sequence diagram models the current, manual operation, little design decision is made. 9-37
38 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. A Design Sequence Diagram :CheckoutGUI :DBMgr l:loan d:document Patron <<uid,call# list>> u:=getuser (uid):user <<msg>> Loop (for each cn in callnumlist) conditional call [u!=null] process(callnumlist) d:=get Document(cn): Document [d!=null]a:=isavailable():boolean [a]create(u,d) [a]saveloan(l) [a]save- Document(d) [a]setavailable(false) loop 9-38
39 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Sequence Diagram to Implementation :Checkout GUI :DBMgr l:loan d:document Patron <<uid,cnlist>> <<msg>> Loop (for each cn in cnlist) u:= getuser(uid): User [u!=null] process(cnlist) d:=get Document(cn): Document a:=isavailable():boolean public class CheckoutGUI { DBMgr dbm=new DBMgr (); public void process(string[] cnlist) { for(int i=0; i<cnlist.length; i++) { Document d=dbm.getdocument(cnlist[i]); if (d.isavailable()) { Loan l=new Loan(u, d); dbm.saveloan(l); d.setavailable(false); dbm.savedocument(d); } } [a]create(u,d) [a]saveloan(l) [a]setavailable(false) [a]save- Document(d) 9-39
40 From Sequence Diagram to Implementation :Checkout GUI :DBMgr l:loan d:document Patron <<uid,cnlist>> <<msg>> Loop (for each cn in cnlist) u:= getuser(uid): User [u!=null] process(cnlist) d:=get Document(cn): Document a:=isavailable():boolean public class CheckoutGUI { DBMgr dbm=new DBMgr (); public void process(string[] cnlist) { for(int i=0; i<cnlist.length; i++) { Document d=dbm.getdocument(cnlist[i]); if (d.isavailable()) { Loan l=new Loan(u, d); dbm.saveloan(l); d.setavailable(false); dbm.savedocument(d); } } [a]create(u,d) [a]saveloan(l) [a]save- Document(d) [a]setavailable(false) Note the color correspondence in SD and code. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. 9-40
41 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. From Sequence Diagram to Implementation :Checkout GUI :DBMgr l:loan d:document Patron <<uid,cnlist>> <<msg>> Loop (for each cn in cnlist) u:= getuser(uid): User [u!=null] process(cnlist) public class DBMgr { public Document getdocument(string cn) {...} public User getuser(string uid) {...} public void saveloan(loan l) {... } public void savedocument(document d) {...} } d:=get Document(cn): Document a:=isavailable():boolean [a]create(u,d) [a]saveloan(l) [a]setavailable(false) [a]save- Document(d) 9-41
42 Commonly Seen Mistakes Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. :Checkout GUI :DBMgr :Checkout GUI :DBMgr u:=getuser(uid): User u:=getuser(uid): User [u!=null] process(cnlist) [u!=null] process(cnlist) d:=get Document(cn): Document d:=get Document(cn): Document WRONG WAY [a]saveloan(l) [a]saveloan(l) [a]save- Document(d) [a]save- Document(d) Correct: 4 function calls to DBMgr; the functions are executed during 4 time intervals. 9-42
43 Commonly Seen Mistakes :Checkout GUI :DBMgr :Checkout GUI :DBMgr u:=getuser(uid): User [u!=null] process(cnlist) The call to process(...) ends here. u:=getuser(uid): User [u!=null] process(cnlist) d:=get Document(cn): Document d:=get Document(cn): Document [a]saveloan(l) [a]saveloan(l) [a]save- Document(d) [a]save- Document(d) Correct: during execution of process(...), 3 function calls are made. The last two calls need to be initiated. But even though the semantics is still incorrect. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. 9-43
44 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Commonly Seen Mistakes :Checkout GUI :DBMgr Patron <<uid,cnlist>> u:=getuser(uid): User Correct: the getuser(uid) call happens after the patron submits the uid and cnlist. :Checkout GUI :DBMgr Patron <<uid,cnlist>> Incorrect: the triggering event should happen before the getuser(uid) call. u:=getuser(uid): User 9-44
SE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 6 Transitioning from Use Cases and Class Diagrams at Architecture Level to Design February 10, 2015 Sam Siewert Assignment #1 Comments OOA -> OOP (C++,
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 4, Part-1 Architectural Design January 29, 2018 Sam Siewert Architecture and Design Patterns Focus on What is Being Designed and Built OO Has Goal
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP
More informationSE310 Analysis and Design of Software
SE310 Analysis and Design of Software Lecture 14 REVIEW March 26, 2018 Sam Siewert Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidate and PoC/Prototype Start Here! https://www.modelio.org/
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 2-2 Systems Engineering for OO January 17, 2018 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL in Agile
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 4, Part-2 Architectural Design January 28, 2019 Sam Siewert OOA/OOD vs. SA/SD Last Year s Consensus - 50% OO Helps, 50% Undecided Discussion of OOA
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 2 OO Examples and Process Introduction January 8, 2015 Sam Siewert Overall Learning Objectives What to Build? Requirements as Capabilities Methods
More informationSE420 - Software Quality Assurance
SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 1 - Introduction January 11, 2018 Sam Siewert Introductions What You Want from Course? When You Plan to Take Capstone? Which is your preferred OOP
More informationMTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationIntroduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014
Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations
More informationMTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationSWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems
SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University
More informationCS317 File and Database Systems
CS317 File and Database Systems Lecture 9 Intro to Physical DBMS Design October 22, 2017 Sam Siewert Reminders Assignment #4 Due Friday, Monday Late Assignment #3 Returned Assignment #5, B-Trees and Physical
More informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 9 Review of Event-Driven Architectures March 6, 2018 Sam Siewert Reminders No class on Thursday - use time for Scrum meeting and to work on designs
More informationDetailed Design. Java Problem Repository & Education Platform JPREP
Team Members: Luke Greiner Denis Kalic Abigail McCarthy Robert Tateo Nguyen Truong Patrick White Detailed Design Java Problem Repository & Education Platform JPREP Revision: 1.1 Date: 3/07/14 1 D e l t
More informationReducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping
Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations
More informationInteraction Modelling: Sequence Diagrams
Interaction Modelling: Sequence Diagrams Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling
More informationTopic 01. Software Engineering, Web Engineering, agile methodologies.
Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,
More informationDilbert Scott Adams. CSc 233 Spring 2012
Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department
More informationSE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert
SE300 SWE Practices Lecture 10 Introduction to Event- Driven Architectures Tuesday, March 17, 2015 Sam Siewert Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Four Common Types
More information1: Specifying Requirements with Use Case Diagrams
Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture
More informationAgile Development
Agile Development 12-04-2013 Many flavors: Waterfall, Spiral Rapid Application Development (DSDM) Xtreme Programming (XP, an agile methodology) Usability Engineering Model, Star Iteration is done throughout
More informationChapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationTopic : Object Oriented Design Principles
Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities
More informationTopics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)
Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration
More informationLecture 8 Requirements Engineering
Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview
More informationIntro to Intro to Software Engineering
Intro to Intro to Software Engineering John Jannotti CSCI032 (cs032) Jan 28, 2010 John Jannotti (cs32) Intro to Intro to Software Engineering Jan 28, 2010 1 / 1 Introductions Me John Jannotti JJ HTAs Alex
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary
More informationCourse Wrap-up. CSC207 Fall 2015
Course Wrap-up CSC207 Fall 2015 10 weeks ago package basics; public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello world!"); } Learning a new language A new memory
More informationCS317 File and Database Systems
CS317 File and Database Systems http://commons.wikimedia.org/wiki/category:r-tree#mediaviewer/file:r-tree_with_guttman%27s_quadratic_split.png Lecture 10 Physical DBMS Design October 23, 2017 Sam Siewert
More informationSoftware Life-Cycle Models
Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationCS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 3 WIMP HCI (GUI Builders Part-2) September 7, 2018 Sam Siewert Recall - GUI Layout & Code-Gen or VHLLs for GUI Build Method #1 Compiled Programming Language (e.g.
More informationZadara Enterprise Storage in
Zadara Enterprise Storage in Google Cloud Platform (GCP) Deployment Guide March 2017 Revision A 2011 2017 ZADARA Storage, Inc. All rights reserved. Zadara Storage / GCP - Deployment Guide Page 1 Contents
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationThe software lifecycle and its documents
The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More informationAnalysis and Design with UML
Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order
More informationSoftware Project Management, 9th Sep.
Software Project Management, 9th Sep. Working hour reporting Preliminary analysis Project planning, development models Usability team co-operation Short project presentations on 16th September Course homepage:
More informationIntroduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process
Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative
More informationSoftware Development Chapter 1
Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic
More informationCSE 308. UML Sequence Diagrams. Reading / Reference.
CSE 308 UML Sequence Diagrams Reading Reading / Reference www.ibm.com/developerworks/rational/library/3101.html Reference www.visual-paradigm.com/vpgallery/diagrams/sequence.html 2 1 Interaction Diagrams
More informationSample Exam. Certified Tester Foundation Level
Sample Exam Certified Tester Foundation Level Answer Table ASTQB Created - 2018 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,
More informationVerification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process
Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More informationSOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming
SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models
More informationLevel: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)
Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The
More information18-642: Software Development Processes
18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY
More informationSub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design
Sub Phase: High-Level Design 1 From Requirements Analysis to User Manual System Design 2 1 Map of design phase HIGH LEVEL DESIGN Module Interfaces Modularization architecture DESIGN Data Persistance Subsystem
More informationCheck out FilesAndExceptions from SVN. Exam 2 Review File I/O, Exceptions Vector Graphics Project
Check out FilesAndExceptions from SVN Exam 2 Review File I/O, Exceptions Vector Graphics Project Exam 2 review File I/O and Exceptions Vector Graphics project kickoff Exam is in class tomorrow Test on
More informationIntroduction to Software Engineering
Chapter 1 Introduction to Software Engineering Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of
More informationObject-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.
Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction
More informationIntroduction to SQL 2000: Installation and Implementation. SQL Server Administration suite: course 1 of 4
Introduction to SQL 2000: Installation and Implementation SQL Server Administration suite: course 1 of 4 This class is designed for Beginner SQL/Prophet 21 (CC) Users who are responsible for SQL Administration
More informationICONIX Process: Use Case Driven Object Modeling. Copyright 2007 ICONIX Software Engineering, Inc. 1
ICONIX Process: Use Case Driven Object Modeling Copyright 2007 ICONIX Software Engineering, Inc. 1 The goal. Driving a good O-O software design from use cases. Copyright 2007 ICONIX Software Engineering,
More informationIntroduction - SENG 330. Object-Oriented Analysis and Design
Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:
More informationChapter : Analysis Modeling
Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints
More informationUML Views of a System
UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary
More information06. Analysis Modeling
06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches
More informationBest Practices for Collecting User Requirements
Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger Requirements Provide direction for program success Why Requirements are
More informationSoftware Testing
Ali Complex, 2nd block, Kormangala, Madiwala, Bengaluru-560068 Page 1 What is Software Testing? Software Testing is the process of testing software with the purpose of finding bugs and ensuring that it
More informationLecture 34 SDLC Phases and UML Diagrams
That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome
More informationOBJECT-ORIENTED DESIGN
SOFTWARE ENGINEERING OBJECT-ORIENTED DESIGN YEAR 2013 Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Doug Rosenberg and Matt Stephens, Use Case Driven
More informationMIDDLE EAST TECHNICAL UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF COMPUTER ENGINEERING. Vitriol. Software Design Document GROUP MALLORN
MIDDLE EAST TECHNICAL UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF COMPUTER ENGINEERING Software Design Document GROUP MALLORN Merve Bozo Yaşar Berk Arı Sertaç Kağan Aydın Mustafa Orkun Acar Team Leader:
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) E-Lock Box Team 05 Weiyi Zhong Prototyper, Tester Woom Kim System Architect, Developer Cecilia Jou II V&V, Tester Azuka Okuleye Feasibility Analyst,
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) FlowerSeeker Team 05 Name Eder Figueroa Sophia Wu Doris Lam Hiram Garcia Roles Primary Role: Project Manager/ Implementer. Secondary Role: Tester. Primary
More informationWelcome to the RISD Materials /Media Center Online Public Access Catalog
Welcome to the RISD Materials /Media Center Online Public Access Catalog For years now, the Media Center has used Term-Lite as the online booking program. Starting in the 2016-2017 school year, the change
More informationUser Stories. Wednesday, January 23, 13
User Stories 1 User Stories and their friends: Use Cases, Scenarios, Personas, Gherkins and Kanbans 7 W s Who writes user stories? What is a user story? When is it written? Where are they seen? Why is
More informationTest Driven Development. René Barto SES Agile Development - Test Driven Development
Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions
More information8. Quality Assurance
8. Quality Assurance Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of 22.03.2012 Agile Methods by Dirk Riehle is licensed under a Creative Commons Attribution-
More information1 Register 2 Take Course 3 Take Test 4 Get Certificate
Training Guide for Group Administrators Use this Admin Guide if you manage a training account for a group of learners. If you are not managing a group account, please use the Learner Guide instead. Training
More informationCS3205: Task Analysis and Techniques
CS3205: Task Analysis and Techniques CS3205: Task Analysis and Techniques Readings (same as before): 1) ID-Book Chapter Establishing Requirements, Ch. 10 (Ch. 9 in course ebook) 2) Chapter 2 from Task-Centered
More informationMPX Server Software User Manual
MPX Server Software User Manual Contents 1 Server Software Installation... - 3 - Initial Setup... - 6-2 Software Interface... - 10 - Login Page:... - 10-2.1 Homepage... - 12-2.2 Resources... - 13-2.3 Composer...
More informationReady for Scrum? Steve Hutchison DISA T&E
Ready for Scrum? Steve Hutchison DISA T&E Presentation Tasks Backlog In Progress Done Scrum Overview Role of Testing in Scrum Agile Testing Summary 2 Scrum Overview Software development framework focused
More informationLecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
More informationCS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam
CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering
More informationHippo Software BPMN and UML Training
Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationCS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP. See also: Chapter 6. The Stagewise Model
CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP See also: Chapter 6 The Stagewise Model The Waterfall Model The Spiral Method Extreme Beach Volleyball Programming
More informationTETRIS TEAM SMART DRIVER ASSISTANT SOFTWARE DESIGN DESCRIPTIONS. METU-Computer Engineering. 0 P a g e
METU-Computer Engineering TETRIS TEAM SMART DRIVER ASSISTANT SOFTWARE DESIGN DESCRIPTIONS Team Members: Seymur Mammadli Shkelim Memmola Nail Ibrahimli Mehmet Kurhan 0 P a g e PREFACE This Document contains
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationVerizon Registration Process:
All controlled substances will require the prescriber to electronically sign the prescription prior to transmitting it to the pharmacy. Emdeon has partnered with Verizon to provide the digital signing
More informationDesign Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman
Chapter 8 Design Concepts Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational
More informationFormal Foundations of Software Engineering
Formal Foundations of Software Engineering http://d3s.mff.cuni.cz Martin Nečaský Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Goals of the course Show methods and tools
More informationOverview of the Course
Overview of the Course Critical Facts Welcome to CISC 471 / 672 Compiler Construction Topics in the design of programming language translators, including parsing, semantic analysis, error recovery, code
More informationOutline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.
Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,
More informationModule Certification and Testing
Module 20 Certification and Testing Certification and Testing Certification requirements The certification exam Online Timed Instant scoring Score required for certification Taking the exam Receiving your
More informationC02: Overview of Software Development and Java
CISC 3120 C02: Overview of Software Development and Java Hui Chen Department of Computer & Information Science CUNY Brooklyn College 08/31/2017 CUNY Brooklyn College 1 Outline Recap and issues Brief introduction
More informationINF5120 and INF9120 Modelbased System development
INF5120 and INF9120 Modelbased System development Lecture 6-1: 20.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no 1 Course parts (16 lectures) - 2017 January (1-3) (Introduction to
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) FlowerSeeker Team 05 Name Eder Figueroa Sophia Wu Doris Lam Hiram Garcia Roles Primary Role: Project Manager/ Implementer. Secondary Role: Tester. Primary
More informationSoftware Requirements Specification
Robotic Competition Organization System - RoboTex Software Requirements Specification for Robotic competition organization system Version Prepared by Group Name: Robo Team Konstantinos Michailidis
More informationObject-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July.
Object-Oriented Development and UML 2 4 pm Thursday 7/3/2008 @JD2211 1 Announcement Class will resume on July 22. Try to complete the lab assignments by July 21. 2 Agenda Review Object-Oriented Analysis
More informationIntroduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015
Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges
More informationCS 575: Software Design
CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation
More informationLecture 8: Use Case -Driven Design. Where UML fits in
Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution
More information