SE310 Analysis and Design of Software Systems

Size: px
Start display at page:

Download "SE310 Analysis and Design of Software Systems"

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 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

SE310 Analysis and Design of Software

SE310 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

SE420 - Software Quality Assurance

SE420 - 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

MTAT 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 information

Introduction 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 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 information

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

MTAT 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 information

Architectural Blueprint

Architectural 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 information

SWE 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 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 information

CS317 File and Database Systems

CS317 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 information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

Detailed Design. Java Problem Repository & Education Platform JPREP

Detailed 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 information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing 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 information

Interaction Modelling: Sequence Diagrams

Interaction 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 information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 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 information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert 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 information

SE300 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, 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 information

1: Specifying Requirements with Use Case Diagrams

1: 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 information

Agile Development

Agile 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 information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 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 information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 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 information

Topic : Object Oriented Design Principles

Topic : 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 information

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Topics. 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 information

Lecture 8 Requirements Engineering

Lecture 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 information

Intro to Intro to Software Engineering

Intro 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 information

Software 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 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 information

Course Wrap-up. CSC207 Fall 2015

Course 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 information

CS317 File and Database Systems

CS317 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 information

Software Life-Cycle Models

Software 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 information

Software Engineering with Objects and Components Open Issues and Course Summary

Software 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 information

Object-Oriented Systems Analysis and Design Using UML

Object-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 information

CS415 Human Computer Interaction

CS415 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 information

Zadara Enterprise Storage in

Zadara 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 information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 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 information

The software lifecycle and its documents

The 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 information

02291: System Integration

02291: 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 information

Analysis and Design with UML

Analysis 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 information

Software Project Management, 9th Sep.

Software 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 information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. 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 information

Software Development Chapter 1

Software 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 information

CSE 308. UML Sequence Diagrams. Reading / Reference.

CSE 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 information

Sample Exam. Certified Tester Foundation Level

Sample 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 information

Verification 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. 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 information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review 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 information

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

SOFTWARE 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 information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: 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 information

18-642: Software Development Processes

18-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 information

Sub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design

Sub 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 information

Check 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 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 information

Introduction to Software Engineering

Introduction 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 information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-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 information

Introduction 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 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 information

ICONIX 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 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 information

Introduction - SENG 330. Object-Oriented Analysis and Design

Introduction - 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 information

Chapter : Analysis Modeling

Chapter : 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 information

UML Views of a System

UML 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 information

06. Analysis Modeling

06. 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 information

Best Practices for Collecting User Requirements

Best 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 information

Software Testing

Software 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 information

Lecture 34 SDLC Phases and UML Diagrams

Lecture 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 information

OBJECT-ORIENTED DESIGN

OBJECT-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 information

MIDDLE 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. 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 information

System and Software Architecture Description (SSAD)

System 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 information

System and Software Architecture Description (SSAD)

System 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 information

Welcome to the RISD Materials /Media Center Online Public Access Catalog

Welcome 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 information

User Stories. Wednesday, January 23, 13

User 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 information

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Test 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 information

8. Quality Assurance

8. 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 information

1 Register 2 Take Course 3 Take Test 4 Get Certificate

1 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 information

CS3205: Task Analysis and Techniques

CS3205: 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 information

MPX Server Software User Manual

MPX 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 information

Ready for Scrum? Steve Hutchison DISA T&E

Ready 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 information

Lecture 1. Chapter 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 process

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural 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 information

CS504-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 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 information

Hippo Software BPMN and UML Training

Hippo 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 information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. 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 information

CS193D 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 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 information

TETRIS TEAM SMART DRIVER ASSISTANT SOFTWARE DESIGN DESCRIPTIONS. METU-Computer Engineering. 0 P a g e

TETRIS 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 information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture 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 information

Verizon Registration Process:

Verizon 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 information

Design Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman

Design 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 information

Formal Foundations of Software Engineering

Formal 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 information

Overview of the Course

Overview 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 information

Outline 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. 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 information

Module Certification and Testing

Module 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 information

C02: Overview of Software Development and Java

C02: 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 information

INF5120 and INF9120 Modelbased System development

INF5120 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 information

System and Software Architecture Description (SSAD)

System 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 information

Software Requirements Specification

Software 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 information

Object-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. 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 information

Introduction 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 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 information

CS 575: Software Design

CS 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 information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 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