SE310 Analysis and Design of Software Systems
|
|
- Chester Miles
- 5 years ago
- Views:
Transcription
1 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
2 Assignment #1 Comments OOA -> OOP (C++, Ada95 or Java) OOP (E.g. C++) Should Compile Focus on Classes to Implement Domain Model In OOA Phase, Limited to Class Specification (Virtual and Pure Virtual Methods for Refinement, Limited to Those in OIM) Bodies of Methods Stubbed Out Prints message OIM Becomes Test Driver in Detailed Design (later) OOD -> OOP (C++, Ada95 or Java) OOP (E.g. C++) Should Compile and Run! Focus on Object Models and Interaction Encapsulation into Modules or Packages and Object Instantiation Class Hierarchy, Polymorphism Associations and Aggregation Method and Attribute Inheritance and Refinement Pure Virtual and Virtual Functions Over-ride State Machines and Activity Diagrams (Detailed Behavior) Implement Key Methods, Stub Out Remaining Sam Siewert 2
3 Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidates and PoC Start Here! USE Modelio as your DESIGN TOOL WARNING: ArgoUML has bugs, so use only to review Argo design examples Helpful Validation and Verification Features for Design Integrated Models Checklists Completeness CPP and Java Code Generation Sam Siewert 3
4 Outline for Practice Second Half Assignment #3 Last Practice Focus First Half Outcome Essentials of SWE Specification, Analysis and Architecture (High Level Design) Second Half Learning Objectives OO Detailed Analysis and Design OOA/OOD -> OOP (C++ or Java) OPTION-1 - Form Group for Assignment #4, #5, #6 OPTION-2 Work Alone, Play 3 Different Roles over Time Architect, PoC/Re-Use, SQA Agile Process Using Scrums and Sprints 1. Scrum Master Focus on Planning and Backlog of Tasks 2. Architect Focus on Requirements Specification, Use Cases and Domain Model 3. SQA Focus on Validation and Verification (Plans, Walk-throughs, and Final Testing) 4. PoC/Prototype Construction Focus on Early Coding, Mock-up, or Evaluation of Code for Re-use Sam Siewert 4
5 Group Scrum Process 3 Sprints Assignment #4, #5, #6 Must Take on a Different Roles Each Sprint Scrum Leader for Sprint #3 Must Have Been Scrum Leader in Prior Sprint Turn in Your Artifacts for Your Role Turn in Team Analysis, Design, PoC/Prototype Work Present Status to Class in 15 Minutes with Walkthrough, Brainstorming to Get Help, Demonstration and Test Results, Options and Decision Role Sprint #1 (A4) Sprint #2 (A5) Sprint #3 (A6) Scrum Leader Engineer-A Engineer-B A or B Architect/Designer Engineer-B Engineer-A A or B SQA Engineer-C Engineer-D C or D PoC/Re-Use Engineer-D Engineer-C C or D Sam Siewert 5
6 Final Exam Second Mid-Term, No Final Exam Instead, Final Presentation 30+ minutes per Group or Individual Design Walkthrough, Demonstration of Prototype(s), Assessment of Successes and Failures, Next Steps 5 Minutes Scrum Status 5 Minutes Major Requirements 10 Minutes Architecture Level Walkthrough (By SQA) 10 Minutes Design and/or PoC Code Walktrhrough (by PoC/Re- Use) 3 Status Checks 15 Minute Stand-Up Scrum Status for Sprint #1, #2, #3 (Scrum Leader + Team) or Individual Sam Siewert 6
7 Assignment #3 Propose Application or Software System of Your Interest Requirements Draft Specification Analysis Architecture OOA -> OOP (Domain Model & OIM -> C++), Must Compile! Stub Out All Methods (Only needs to Print a message) Potential Definition of Project for Second Half - #4 - #6 Requirements & Analysis - Validation and Verification Detailed Design to Target OOP Construction, OOD -> OOP Consider Hierarchy Relationships and Refinement (Class, Sub-Class, Inheritance, Polymorphism) Consider Associations (Method Interfaces, Careful C++ friend use) Consider Aggregation (Class Nesting) PoC Construction, Testing and CVMC Sam Siewert 7
8 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-8
9 Interactive Example(s) OpenCV PoC Interactive Edge Finder, OCR C/C++ Allegro Games - Also Transformational (Ok to be Hybrid) Display + Slider = Interactive Interactive Control(s) Visual Feedback (Interactive) Sam Siewert 9
10 Event Driven Example(s) C/C++ Prototype Bright Target Tracker, Robotic Steering, PID Controller(s) Also Transformational (Ok to be Hybrid) Periodic + Event Driven Control Track, Find, Acquire Targets E.g. Industrial Automation, Process Control Sam Siewert 10
11 Transformational Example(s) Very Common Engineering Architecture OpenCV PoC Hough Linear or Circular Transform C/C++ code PoC Image Enhancement, Sharpen, Brighten/Contrast, Encrypt/Decrypt, Compress/Decompress Batch or Continuous Real-Time Digital Media Security & Transport Computer Vision Sam Siewert 11
12 Transaction Example(s) DBMS, Client/Server PRClab MySQL Installation MySQL Workbench C/C++ Code - TCP/IP Command/Response, RAID Archive Sam Siewert 12
13 Activity Select 1 of 4 Architectures On a Paper Select 1 of 4 Architectures Interactive Cmd Line, GUI, Visualization/Graphics, Games Event Driven Detection, Tracking, Digital Control Transformational Image Proc, Comp Vision, Numerical Transaction DBMS, Client/Server Propose Application or Software System of Your Interest Requirements Draft Specification Analysis Architecture Assignment #3 - Potential Definition of Project for Second Half Sam Siewert 13
14 Assignment #4 - #6 Analyze, Design, Construct PoC or Mock-Up 3 Scrum Sprints 3 Status Presentations (15+ Minutes) 1 Final Presentation (30+ Minutes) Team or Individual Effort (Contributions Must be Clear for Team) SE310 OOA/OOD -> OOP Required (Compared to SE300, SA/SD and/or OOA/OOD -> any PL) Sam Siewert 14
15 Kung Chapter 10 & 11 Transition from Analysis and Architecture to Design OIM is a Great Bridge Requires Definition of Class Methods Constructors, Destructors Implicit and Explicit Setters and Getters (Accessors and Mutators) Object Interaction via Methods and Messages Care with Hierarchy and Issues of Association & Aggregation Introduction to Design Patterns (More Detailed than Architecture Patterns) OOA -> OOD Common Object Instantiation and Uses Common Implementation of Class Methods and Refinement Sam Siewert 15
16 Key Takeaway Points Design patterns are abstractions of proven design solutions to commonly encountered design problems. The controller, expert, and creator patterns are applicable to almost all objectoriented systems. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
17 Applying Patterns in the Methodology Context Business goals & needs Current situation Preliminary requirements Abstract & high level use cases, use case diagrams Acquiring Requirements (Domain Modeling) Deriving Use Cases from Requirements Allocating Use Cases & Subsystems to Iterations Use case-iteration allocation matrix Producing an Architecture Design Software architecture Accommodating Requirements Change Domain model Domain Modeling Use case-iteration allocation matrix Iteration use cases Actor-System Interaction Modeling Deriving Design Class Diagram Expanded use cases & UI design Behavior Modeling & Responsibility Assignment 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 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
18 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. What Are Design Patterns? Design patterns are proven design solutions to commonly encountered design problems. Each pattern solves a class of design problems. Design patterns codify software design principles and idiomatic solutions. Design patterns improve communication among software developers. Design patterns empower less experienced developers to produce high-quality designs. Patterns can be combined to solve a large complex design problem
19 Example: The Singleton Pattern Pattern name: Singleton Design Problem: How do we ensure that a class has only one globally accessible instance? Example uses: System configuration class System log file Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
20 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. The Singleton Pattern public class Catalog { private static Catalog instance; private Catalog() {... } // private constructor public static Catalog getinstance() { if (instance==null) instance=new Catalog(); return instance; } // other code } 10-20
21 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Example: The Singleton Pattern <<Singleton>> Config -$ instance: Config // other attributes - Config() +$ getinstance(): Config // other operations Stereotype shows the pattern name if (instance==null) instance=new Config(); return instance; +: public -: private $: static 10-21
22 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Describing Patterns The pattern name conveys the design problem as well as the design solution. Example: Singleton How to design a class that has only one globally accessible instance? The singleton pattern provides a solution. Pattern description also specifies benefits of applying the pattern liabilities associate with the pattern, and possible trade-offs 10-22
23 More About Design Patterns Patterns are recurring designs. Patterns are not new designs. Most patterns aim at improving the maintainability of the software system. easy to understand easy to change (significantly reduce change impact) Some patterns also improve efficiency or performance. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
24 Commonly Used Design Patterns The General Responsibility Assignment Software Patterns (GRASP) The Gang of Four Patterns due to the four authors of the book Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
25 GRASP Patterns Expert Creator Controller Low coupling High cohesion Polymorphism Pure fabrication Indirection Do not talk to strangers Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved.
26 Gang of Four Patterns Creational patterns deal with creation of complex, or special purpose objects. Structural patterns provide solutions for composing or constructing large, complex structures that exhibit desired properties. Behavioral patterns are concerned with algorithmatic aspect of a design assignment of responsibilities to objects communication between objects Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
27 Applying GRASP through a Case Study Examine a commonly seen design. Discuss its pros and cons. Apply a GRASP pattern to improve. Discuss how the pattern improves the design. During this process, software design principles are explained. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
28 presentation A Checkout Sequence Diagram : CheckoutGui : DBMgr l: Loan d:document <<call number >> Patron msg := checkout (callno:string): String d := getdocument (callno: String): Document business objects alt [d!=null] a:=isavailable():boolean GUI is assigned too many responsibilities. alt [a] [else] create(p:patron, d:document) save(l:loan) save(d:document) msg := Checkout successful. msg := Document not available. setavailable(false:boolean) [else] <<msg>> Tight coupling between presentation and business objects msg := Document not found. Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved
29 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Problems with This Design Tight coupling between the presentation and the business objects. The presentation has been assigned too many responsibilities. The presentation has to handle actor requests (also called system events). Implications Not designing stupid objects. Changes to one may require changes to the other. Supporting multiple presentations is difficult and costly
30 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. A Better Solution Reduce or eliminate the coupling between presentation and business objects. the Low Coupling design principle Remove irrelevant responsibilities from the presentation. the separation of concerns principle it achieves high cohesion and designing stupid objects Have another object (class) to handle actor requests (system events)
31 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. The Controller Pattern Actor requests should be handled in the business object layer. Assign the responsibility for handling an actor request to a controller. The controller may delegate the request to business objects. The controller may collaborate with business objects to jointly handle the actor request
32 Use case controller Types of Controller It handles all actor requests relating to a use case. A checkout controller handles all actor requests to checkout a document. Role controller It represents a role played by an actor (Librarian, Bank Teller). Facade controller It represents the overall system (Library System, Banking System). It represents the organization (Library, Bank). 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. Applying The Expert Pattern :Checkout GUI :Checkout Controller :DBMgr <<uid, callno>> msg:=checkout(uid,callno): String Does the DB manager have the attribute to fulfill these? b1:=haspatron (uid):bool [b1]: process (callno) b2:=isavailable (callno): boolean [b2] setavailable (callno,false) [b2] setcheckout (uid, callno) <<msg>> Who has the information to fulfill this? 10-33
34 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Applying The Expert Pattern :Checkout GUI :Checkout Controller :DBMgr l:loan d:document <<uid, cnlist>> msg:=checkout(uid, cnlist) u:=getuser(uid): user [u!=null & cn in cnlist]*: msg:= process(cn): String UML 1.0 notation for loop Controller has the parameters needed to call the constructor of Loan. <<msg>> d:=getdocument(cn): Document a:=isavailable() [a]create(u,d) [a]save(l) [a]setavailable(false) [a]save(d) expert pattern Document has the attribute 10-34
SE310 Analysis and Design of Software Systems
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 Reminders Assignment #2 Grading in
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 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 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 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 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-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 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 information17. GRASP: Designing Objects with Responsibilities
17. GRASP: Designing Objects with Responsibilities Objectives Learn to apply five of the GRASP principles or patterns for OOD. Dr. Ziad Kobti School of Computer Science University of Windsor Understanding
More informationbe used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate
UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationRequirements and Design Overview
Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
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 informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
More informationThe Design Patterns Matrix From Analysis to Implementation
The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
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 informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationObject-Oriented Analysis and Design Using UML (OO-226)
Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,
More informationSoftware Design And Modeling BE 2015 (w. e. f Academic Year )
Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The
More informationChapter 1: Principles of Programming and Software Engineering
Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without
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 informationA4 Explain how the Visitor design pattern works (4 marks)
COMP61532 exam Performance feedback Original marking scheme in bold, additional comments in bold italic. Section A In general the level of English was poor, spelling and grammar was a problem in most cases.
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationObject-Oriented Design II - GRASP
Object-Oriented Design II - GRASP SWEN-610 Foundations of Software Engineering Department of Software Engineering Rochester Institute of Technology Controller Creator Indirection Information expert High
More informationObject-Oriented Design I
Object-Oriented Design I SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Single responsibility High cohesion Information expert Low coupling
More informationObject oriented programming. Encapsulation. Polymorphism. Inheritance OOP
OOP Object oriented programming Polymorphism Encapsulation Inheritance OOP Class concepts Classes can contain: Constants Delegates Events Fields Constructors Destructors Properties Methods Nested classes
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 informationChapter 1: Programming Principles
Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key
More informationObject-Oriented Design
Object-Oriented Design Department of Computer Engineering Lecture 12: Object-Oriented Principles Sharif University of Technology 1 Open Closed Principle (OCP) Classes should be open for extension but closed
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 informationDesign Patterns. Dr. Rania Khairy. Software Engineering and Development Tool
Design Patterns What are Design Patterns? What are Design Patterns? Why Patterns? Canonical Cataloging Other Design Patterns Books: Freeman, Eric and Elisabeth Freeman with Kathy Sierra and Bert Bates.
More informationCS317 File and Database Systems
CS317 File and Database Systems http://dilbert.com/strips/comic/2010-01-18/ Lecture 14 Network Client Access to DBMS November 15, 2017 Sam Siewert Reminders PLEASE FILL OUT COURSE EVALUATIONS ON CANVAS
More informationKeywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.
Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad
More informationResponsibilities. Using several specific design principles to guide OO design decisions.
Designing Objects with Responsibilities Using several specific design principles to guide OO design decisions. Challenge Old-school advice on OOD After identifying i your requirements and creating a domain
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 15: Object-Oriented Principles 1 Open Closed Principle (OCP) Classes should be open for extension but closed for modification. OCP states that we should
More informationVEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS
UNIT 1 UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package, component and Deployment Diagrams. INTRODUCTION
More informationFinal Exam CISC 475/675 Fall 2004
True or False [2 pts each]: Final Exam CISC 475/675 Fall 2004 1. (True/False) All software development processes contain at least separate planning, testing, and documentation phases. 2. (True/False) The
More informationCOMP 6471 Software Design Methodologies
COMP 647 Software Design Methodologies Fall 20 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-fall20.html Course Introduction Course People Course Components What the course is What the
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 informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams
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 informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? Patterns are intended to capture the best available software development experiences in the
More informationOODP Session 5a. Web Page: Visiting Hours: Tuesday 17:00 to 19:00
OODP Session 5a Next week: Reading week Session times PT group 1 Monday 18:00 21:00 room: Malet 403 PT group 2 Thursday 18:00 21:00 room: Malet 407 FT Tuesday 13:30 17:00 room: Malet 404 Email: oded@dcs.bbk.ac.uk
More informationCS6502- OBJECT ORIENTED ANALYSIS AND DESIGN UNIT I
CS6502- OBJECT ORIENTED ANALYSIS AND DESIGN UNIT I Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package, component and
More informationADVANCED SOFTWARE DESIGN LECTURE 7 GRASP
ADVANCED SOFTWARE DESIGN LECTURE 7 GRASP Dave Clarke 1 TODAY S LECTURE We will discuss 7 of the GRASP design patterns cohesion and coupling were covered earlier. These provide principles for evaluating
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationIdioms and Design Patterns. Martin Skogevall IDE, Mälardalen University
Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationAns 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.
Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use
More informationSHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY
SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 1301-OBJECT ORIENTED ANALYSIS AND
More informationObject Oriented Programming
Unit 19: Object Oriented Unit code: K/601/1295 QCF Level 4: BTEC Higher National Credit value: 15 Aim To provide learners with an understanding of the principles of object oriented programming as an underpinning
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 informationDesign Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns
Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many
More informationACRONYMS AND GLOSSARY
Appendix A ACRONYMS AND GLOSSARY SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. 1 Acronyms Acronym 1NF 1ONF 2NF 2ONF 2ONF 3NF 3ONF API CASE CORBA CRUD DFD FLOOT IDL Java VM ODMG OMG OODBMS OOUI OQL ODBC OOCRUD
More informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture
More informationHomework Identify a suitable project topic that conforms to project requirements
Week Content 1 Revis June 2 June sion of Higher SDD and Introduction to course Introduction to the course with exemplification of Course Assessment requirements and Project Revision of SDD concepts at
More informationFinal Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format
Final Exam Final Exam Review CS 4354 Fall 2012 Jill Seaman Friday, December 14, 11AM Closed book, closed notes, clean desk Content: Textbook: Chapters 1, 2, 4-10 Java Lectures, GRASP + JUnit 35% of your
More informationDesign patterns. Jef De Smedt Beta VZW
Design patterns Jef De Smedt Beta VZW Who Beta VZW www.betavzw.org Association founded in 1993 Computer training for the unemployed Computer training for employees (Cevora/Cefora) 9:00-12:30 13:00-16:00
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 http://data.science.uoit.ca -> Home -> Teaching -> Software Design and Analysis Software Design and Analysis CSCI 4030 2 Describe the goals. Define object-oriented
More information18.1 Definitions and General OO Principles
Chapter 18: Design Patterns Design patterns are elegant, adaptable, and reusable solutions to everyday software development problems. Each pattern includes a description of a commonly occuring type of
More informationADD 3.0: Rethinking Drivers and Decisions in the Design Process
ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1 Coad-Yourdon Two-phase introduction: Object-Oriented Analysis
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK V SEMESTER CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Regulation 2013 Academic
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 8 OO modeling Design Patterns Introduction Creational Patterns Software
More informationAgile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.
THE OBJECT PRIMER THIRD EDITION Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE gile 1 odeling Contents Acknowledgments Foreword Preface
More informationMay Comp-B 11, Advanced Software Design. 3 hours duration
May 2016 98-Comp-B 11, Advanced Software Design 3 hours duration NOTES: 1. If doubt exists as to the interpretation of any question, the candidate is urged to submit, with the answer paper, a clear statement
More informationUNIT 1-UMAL DIAGRAMS. Q.No. Question Competence Level. 1 What is Object Oriented analysis & Design? Remembering BTL1
Year & Semester : III & VI Section : CSE 1 & 2 Subject Code : CS6502 Subject Name : OBJECT ORIENTED ANALYSIS AND DESIGN Degree & Branch : B.E (CSE) Staff in charge : Dr.B.VANATHI & Mr.K.SHANMUGAM PART
More informationINTERNAL ASSESSMENT TEST III Answer Schema
INTERNAL ASSESSMENT TEST III Answer Schema Subject& Code: Object-Oriented Modeling and Design (15CS551) Sem: V ISE (A & B) Q. No. Questions Marks 1. a. Ans Explain the steps or iterations involved in object
More informationObject-Oriented Design and Modeling Using the UML
Design Classes Object-Oriented Design and Modeling Using the UML Based on Chapter 18 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationLecture Notes on Programming Languages
Lecture Notes on Programming Languages 85 Lecture 09: Support for Object-Oriented Programming This lecture discusses how programming languages support object-oriented programming. Topics to be covered
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationCSC Advanced Object Oriented Programming, Spring Overview
CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay
More informationExamples. Object Orientated Analysis and Design. Benjamin Kenwright
Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision
More informationLecture 8: Chapter 8!
Lecture 8: 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
More informationMCQS for Midterm cs504 Combined by Anees Ahmad
MCQS for Midterm cs504 Combined by Anees Ahmad The best way to conduct a requirements validation review is to examine the system model for errors have the customer look over the requirements send them
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A (UML Notations has to be used wherever necessary)
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading
More informationPaytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value
Paytm Programming Sample paper: 1) A copy constructor is called a. when an object is returned by value b. when an object is passed by value as an argument c. when compiler generates a temporary object
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationCMPE/SE 135 Object-Oriented Analysis and Design
Course and Contact Information San José State University Department of Computer Engineering CMPE/SE 135 Object-Oriented Analysis and Design Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationA few important patterns and their connections
A few important patterns and their connections Perdita Stevens School of Informatics University of Edinburgh Plan Singleton Factory method Facade and how they are connected. You should understand how to
More informationPlan. A few important patterns and their connections. Singleton. Singleton: class diagram. Singleton Factory method Facade
Plan A few important patterns and their connections Perdita Stevens School of Informatics University of Edinburgh Singleton Factory method Facade and how they are connected. You should understand how to
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 informationCS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 7 Implementation and Testing Tools for HCIs October 4, 2015 Sam Siewert Coming Up Quiz on Wednesday for Part II Chapters 5,6,7,8,9 Review Next Week on Monday, 10/12
More informationFoundations of object orientation
Foreword Preface List of projects discussed in detail in this book Acknowledgments Part 1 Chapter 1 Chapter 2 Foundations of object orientation Objects and classes 1.1 Objects and classes 1.2 Creating
More informationCS317 File and Database Systems
CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in
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 information3 Product Management Anti-Patterns by Thomas Schranz
3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about
More informationTHE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)
THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS
More informationLecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction
Lecture 13: Object orientation Object oriented programming Introduction, types of OO languages Key concepts: Encapsulation, Inheritance, Dynamic binding & polymorphism Other design issues Smalltalk OO
More informationLearning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli
Identify and overcome the difficulties encountered by students when learning how to program List and explain the software development roles played by students List and explain the phases of the tight spiral
More information