Introduction - SENG 330. Object-Oriented Analysis and Design
|
|
- Colleen Eustacia Boyd
- 6 years ago
- Views:
Transcription
1 Introduction - SENG 330 Object-Oriented Analysis and Design
2 SENG 330 Fall 2006 Instructor: Alex Thomo Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective: How to create better object-oriented designs through the application of a set of explainable principles and heuristics. How to implement these designs.
3 SENG 330 Fall 2006 Book: Applying UML and Patterns: An Introduction to Object- Oriented Analysis and Design, 3d Edition, by Craig Larman Safari at UVic?
4 Owning a hammer doesn t make one an architect Knowing an OO language is a necessary but insufficient first step to create object systems. Learn skills for creation of well-designed, robust, and maintainable software using OO technologies and languages
5 UML It s a standard diagramming notation it s not a method or procedure on how to think in objects. However, we need it as tool for communicating with others. When working visually, we exploit our brain's strength to quickly grasp symbols, units, and relationships in 2D notations. die1 : Die die2 : Die play() DiceGame 1 2 Die facevalue : int getfacevalue() : int roll()
6 OOD Principles and Patterns Responsibility-driven design: How should responsibilities be assigned to classes of objects? How should objects interact? What classes should do what? Tried-and-true solutions to design problems have been expressed as patterns (or formulas). E.g. Suppose there are multiple third-party tax calculators, and each tax calculator has a different interface: TCP socket, SOAP, Java RMI, CORBA, etc. What objects should be responsible for these varying external tax calculator examples? Solution. We should create tax calculator adapters, which handle all low level details, while presenting the same external interface, e.g. gettaxes( Sale ).
7 Analysis and Design? Analysis emphasizes an investigation of the problem and requirements, rather than a solution. Analysis = requirements analysis + object analysis. Requirement analysis is strongly related to OOA/D as a prerequisite activity. Who will use the system? How will it be used? What are the expectations? Object analysis is about finding domain objects and concepts. Design is a conceptual solution that fulfills the requirements. E.g. a description of software objects, and databases schema. Software objects are inspired by domain objects, but not necessary the same.
8 Object Analysis domain concept Plane tailnumber visualization of domain concept representation in an object-oriented programming language public class Plane { private String tailnumber ; } public List getflighthistory() { }
9 Another Example Dice game: A player rolls two die. If the total is seven, they win; Otherwise, they lose. Analysis Define use cases Define a domain model Design Define interaction diagrams Define design class diagrams
10 Uses Cases Requirement analysis describes domain processes: uses cases Use cases are written stories. Example: Play a dice game: A player picks up and rolls the dice. If the dice face value total seven, they win; otherwise they lose.
11 Domain Model Object oriented analysis identifies: domain objects, concepts, attributes and relationships Result is the domain model.
12 Player 1 Rolls 2 Die name facevalue 1 1 Plays 2 DiceGame 1 Includes
13 OOD: Interaction Diagrams OOD is about defining software objects, their responsibilities and collaborations. A common notation for outlining the above is an interaction diagram.
14 :DiceGame die1 : Die die2 : Die play() roll() fv1 := getfacevalue() roll() fv2 := getfacevalue()
15 Or
16 Static View: Design Class Diagrams It s useful also a static view of the class definitions with design class diagrams (DCD s). DCD s are inspired by the domain model, but the classes aren t necessarily the same. E.g. here is no Player class. If the requirements don t ask to remember anything about the person playing, then there is need for such a class.
17 DiceGame Die die1 : Die die2 : Die play() 1 2 facevalue : int getfacevalue() : int roll()
18 Three levels in applying UML Recommended by agile modeling. UML as sketch Informal and incomplete diagrams (often hand sketched on whiteboards) created to explore difficult parts of the problem or solution space, exploiting the power of visual languages. UML as blueprint Relatively detailed design diagrams used either for code generation (forward engineering) or for reverse engineering to visualize and better understand existing code UML as programming language Complete executable specification of a software system in UML. Executable code will be automatically generated, but is not normally seen or modified by developers;
19 Three perspectives to Apply UML Conceptual Specification Implementation UML describes raw diagram types, such as class diagrams and sequence diagrams. It does not superimpose a modeling perspective on these. For example, the same UML class diagram notation can be used to draw pictures of concepts in the real world or software classes in Java.
20 Iterative Development and the Unified Process
21 (Rational) Unified Process A software development process describes an approach to Software Building Deploying Maintaining There are many activities comprising the above. Recommended to follow: The Unified Process, A procedure for doing the many possible activities from requirements to implementation, and maintenance.
22 Key UP Idea: Iterative Development An iterative development is organized into a series of short, fixed-length mini-projects called iterations. The outcome of each iteration is a tested, integrated, and executable system. Each iteration includes its own requirement analysis, design, implementation, and testing activities.
23 Each iteration involves choosing a small set of requirements, and quickly designing, implementing, and testing. Feedback is from users, developers, and tests (such as load and usability tests). E.g. Feedback from users or stakeholders: You don t differentiate between products when calculating tax! Feedback from programmers: To print in special purpose paper is a daunting task! Is it worthy? Feedback from tests: To ask GoodAsGoldTaxPro calculator is very slow. (load test)
24 Some facts: Why Iterations? Changes in requirements: 35% - 50% Software development is a domain of high change and instability. Software is not a domain of predictable or mass manufacturing. Change is the constant in software projects. Any analysis, modeling, development, or management practice based on the assumption that things are longterm stable (i.e., the waterfall) is fundamentally flawed.
25 How to do Iterative and Evolutionary Analysis and Design? 1. Before iteration-1, hold the first timeboxed requirements workshop (2 days). Business and development people are present. On the morning of day one, identify the names of the use cases. The analysis will not be perfect. Ask the chief architect and business people to pick 10% from this highlevel list (such as 10% of the 30 use case names), which have a blending of three qualities: 1) architecturally significant 2) high business value (features business really cares about) 3) high risk (such as "be able to handle 500 concurrent transactions"). Perhaps three use cases are identified: UC2, UC11, UC14. For the remaining 1.5 days, do intensive detailed analysis for these three use cases (write them up).
26 How to do Iterative and Evolutionary Analysis and Design? 2. Before iteration-1, hold an iteration planning meeting a subset from UC2, UC11, and UC14 are chosen to design, build, and test within a specified time (for example, four-week timeboxed iteration). 3. Do iteration-1 over four weeks. On the first two days, developers and others do modeling and design work in pairs, sketching UML diagrams at many whiteboards in a common war room Then the developers take off their "modeling hats" and put on their "programming hats." Much testing occurs. One week before the end, ask the team if the original iteration goals can be met; if not, de-scope the iteration, putting secondary goals back on the "to do" list. On Tuesday of the last week there's a code freeze; all code must be checked in, integrated, and tested to create the iteration baseline. On Wednesday morning, demo the partial system to external stakeholders, to show early visible progress. Feedback is requested.
27 UP Phases A UP project organizes the iterations across four major phases: Inception approximate vision, business case, scope, vague estimates. Elaboration refined vision iterative implementation resolution of high risks Construction iterative implementation of lower risk elements Transition beta tests deployment
28
29 UP Disciplines UP describes work activities, such as writing a use case, within disciplines (work-codes). There are several disciplines: Business modeling e.g. domain modeling Requirements e.g. writing use cases Design all aspects of design, e.g. objects, databases, networking etc.
30 Disciplines and phases
31 Case Study: The NextGen POS System
32 A POS System A computerized NextGen point-of-sale (POS) system is to: record sales, and handle payments. It includes H/S components such as: Computer Bar code scanner Software It interfaces to various service applications, such as: Third party tax calculators Inventory control It must support multiple and varied client-side terminals and interfaces, such as: A thin Web browser terminal A regular PC with Java Swing graphical UI Touch screen input Wireless PDA s Furthermore, it should support different clients with different business rules.
33 Business rules When you sell a widget, total the monthly sale figures, and decrease the widget inventory. Only a manager can discount blue widgets by 10%.
34 Architectural Layers Inte rfac e minor focus explore how to connect to other layers application logic and domain object layer Sale Payment primary focus of case study explore how to design objects technical services layer Log PersistenceFacade secondary focus explore how to design objects
Software 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 informationBDSA Introduction to OOAD. Jakob E. Bardram
BDSA Introduction to OOAD Jakob E. Bardram Programming is Fun Developing Quality Software is Hard. Craig Larman in [OOAD] book 2 Object-Oriented Analysis & Design (OOAD) This Lecture Unified Modeling Language
More information1 OBJECT-ORIENTED ANALYSIS
UML and Patterns.book Page 3 Sunday, August 9, 200 2:50 PM Chapter OBJECT-ORIENTED ANALYSIS AND DESIGN The shift of focus (to patterns) will have a profound and enduring effect on the way we write programs.
More informationSRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A
SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld
More informationCS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I
CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling
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 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 informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationBuilding the User Interface: The Case for Continuous Development in an Iterative Project Environment
Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment
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 informationROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD
ROEVER ENGINEERING COLLEGE CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A During object-oriented analysis there is an emphasis on finding
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 informationUNIT-I Introduction of Object Oriented Modeling
UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,
More informationCSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)
CSSE 374: Logical Architecture Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu An Engineering Decision Learning Outcomes: O-O Design Demonstrate object-oriented
More informationSystem Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes
System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction
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 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 informationCS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD
CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD 1. What is Object-Oriented Analysis? Nov/Dec 2016 During object-oriented analysis there is an emphasis
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 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 information02161: Software Engineering I
02161: Software Engineering I Week 9: Version Control, Software Development Process, and Project Introduction Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary
More informationSoftware Process. Software Process
Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More informationDilbert Scott Adams. CSc 233 Spring 2012
Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More informationNick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture
Nick Rozanski Andy Longshaw Eoin Woods Sold! How to Describe, Explain and Justify your Architecture Objectives of Today If you are an architect who has to produce an Architectural Description, then this
More informationBest Practices for Collecting User Requirements
Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger Requirements Provide direction for program success Why Requirements are
More informationOBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS
OBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN L T P C 3 0 0 3 UNIT I- UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams
More informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
More 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 informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationIntroduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014
Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations
More informationWeek 9 Implementation
Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is
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 informationBDSA08 Advanced Architecture
UI Swing not the Java Swing libraries, but our GUI classes based on Swing Web Domain Sales Payments Taxes Technical Services Persistence Logging RulesEngine BDSA08 Advanced Architecture Jakob E. Bardram
More informationUnit Wise Questions. Unit-1 Concepts
Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of
More informationEncapsulation. Administrative Stuff. September 12, Writing Classes. Quick review of last lecture. Classes. Classes and Objects
Administrative Stuff September 12, 2007 HW3 is due on Friday No new HW will be out this week Next Tuesday we will have Midterm 1: Sep 18 @ 6:30 7:45pm. Location: Curtiss Hall 127 (classroom) On Monday
More informationCTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D
CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML
More informationThe Process of Software Architecting
IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,
More informationIntroduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process
Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative
More informationOO Project Management
OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch
More informationBusiness Architecture Implementation Workshop
Delivering a Business Architecture Transformation Project using the Business Architecture Guild BIZBOK Hands-on Workshop In this turbulent and competitive global economy, and the rapid pace of change in
More informationArchitecture and Design Evolution
Architecture and Design Evolution Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,
More informationArchitecture of Business Systems Architecture and the Role of the Architect
Sandro Schwedler Wolfram Richter Architecture of Business Systems Architecture and the Role of the Architect Lecture Outline Introduction (W) Lecture Overview Architecture & role of the Architect Views
More informationLecture 13 Introduction to Software Architecture
Lecture 13 Introduction to Software Architecture Software Systems Design and Implementation ITCS/ITIS 6112/8112 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at
More informationLogical Architecture & Design Preliminaries
Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer
More informationConstantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada
1 Disclaimer: These slides are based on the 2 nd edition of Applying UML and Patterns; An introduction to OOAD and the Unified process by Craig Larman (2002). I take responsibility for any errors. Constantinos
More informationRequirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology
Requirement Engineering within an Agile Environment BY KEJI GIWA HLR Workshop Requirement Catalogue Product Planning Sprint Planning Meeting Keyscreens Use Case / Epic Stories Implement Wireframes DBT
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt What
More informationSoftware Engineering
Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most
More informationCS487 Midterm Exam Summer 2005
1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of
More informationTonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?
Tonight s Agenda CSC340: Engineering Jennifer Campbell Lecturer Part 1 Introduction to course content Course information Changes to the SE courses/program Part 2 What are requirements? CSC340 University
More informationEvolutionary Architecture and Design
Evolutionary Architecture and Design Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationSoftware Life-Cycle Models
Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language
More informationDESIGN. (Chapter 04)
DESIGN (Chapter 04) THE PROCESS OF INTERACTION DESIGN Overview What is involved in Interaction Design? Importance of involving users Degrees of user involvement What is a user-centered approach? Four basic
More informationfor TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method
Course Syllabus for 3 days Expert led Enterprise Architect hands-on training "An Architect, in the subtlest application of the word, describes one able to engage and arrange all elements of an environment
More informationReducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping
Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations
More informationSOFTWARE DESIGN COSC 4353 / Dr. Raj Singh
SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
More informationCS3205 HCI IN SOFTWARE DEVELOPMENT INTRODUCTION TO PROTOTYPING. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)
CS3205 HCI IN SOFTWARE DEVELOPMENT INTRODUCTION TO PROTOTYPING Tom Horton * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford) READINGS ID Book. Chapter 11 in published book, Design, Prototyping,
More informationManaging Change and Complexity
Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more
More information#12 - The art of UI prototyping
1 of 5 1/30/2007 12:02 PM #12 - The art of UI prototyping By Scott Berkun, November 2000 Even the brightest people make mistakes. This is especially true for teams of people. Somehow, as a project moves
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 informationTo practice UCSD Usability Design
To practice UCSD from principles to process Adds essential UCSD activities and roles to any process. Easy to communicate. Easy to integrate: in organizations and projects. A subset of a development process.
More informationUnified Modeling Language (UML)
Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software
More informationSoftware Architecture and Design I
Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How
More information3Lesson 3: Web Project Management Fundamentals Objectives
3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,
More informationBusiness Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)
Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module
More informationThis tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.
i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give
More informationSE203b: OO Design for Software Engineers. Office: TEB349, Ext
SE203b: OO Design for Software Engineers W0 : Course Overview Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa Teaching Team Instructor TAs o Hamada Ghenniwa Office: TEB349, Ext. 88262 e-mail: hghenniwa@eng.uwo.ca
More informationIntroduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M
Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects
More informationHistory of object-oriented approaches
Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented
More information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2012 Contents 1 General Information 1 2 Overview 3 3 Introduction to UML 11 4 Summary 16 1 General Information System Integration Type
More informationHuman-Computer Interaction IS David Sprague
Human-Computer Interaction IS 4300 David Sprague Overview (for today) Introductions Overview of the Course Logistics Overview of HCI Some basic concepts Overview of Team Projects Disclaimer 1. Touchy feely
More informationOBJECT-ORIENTED DESIGN
SOFTWARE ENGINEERING OBJECT-ORIENTED DESIGN YEAR 2013 Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Doug Rosenberg and Matt Stephens, Use Case Driven
More informationindex_ qxd 7/18/02 11:48 AM Page 259 Index
index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the
More informationCSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)
CSSE 374: UML Activity Diagrams Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Patterns, Tradeoffs Identify criteria for the design of a software
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 informationThe Web Service Sample
The Web Service Sample Catapulse Pacitic Bank The Rational Unified Process is a roadmap for engineering a piece of software. It is flexible and scalable enough to be applied to projects of varying sizes.
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 informationIntroducing the UML Eng. Mohammed T. Abo Alroos
Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software
More informationI am Stephen LeTourneau from Sandia National Laboratories Sandia s National Security Missions include: Nuclear Weapons Defense Systems & Assessments
I am Stephen LeTourneau from Sandia National Laboratories Sandia s National Security Missions include: Nuclear Weapons Defense Systems & Assessments Energy, Climate & Infrastructure Security International,
More informationSession 8: UML The Unified Modeling (or the Unstructured Muddling) language?
Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented
More informationdefined. defined. defined. defined. defined. defined. defined. defined. defined.
Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...
More informationConsolidation and Review
Consolidation and Review Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors (Slides include materials from Python Programming: An Introduction to Computer Science, 2 nd edition,
More informationCONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010
PACIFIC NW 28TH ANNUAL SOFTWARE QUALITY CONFERENCE October 18th 19th, 2010 Conference Paper Excerpt from the CONFERENCE PROCEEDINGS Permission to copy, without fee, all or part of this material, except
More informationResults Summary Show All Pages and Questions
Page 1 of 8 Tuesday, November 14, 2006 Results Summary Show All Pages and Questions Filter Results To analyze a subset of your data, you can create one or more filters. : 1137 Visible: 1137 Share Results
More information*ANSWERS * **********************************
CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO
More informationneeds, wants, and limitations
In broad terms Process in which the needs, wants, and limitations of end users of a product are given extensive attention at each stage of the design process. ISO principles which says that the design
More informationCISC 322 Software Architecture
CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,
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 informationFrom Design Patterns: Elements of Reusable Object Oriented Software. Read the sections corresponding to patterns covered in the following slides.
From Design Patterns: Elements of Reusable Object Oriented Software Read the sections corresponding to patterns covered in the following slides. DESIGN PRINCIPLES Modularity Cohesion Coupling Separation
More informationCHAPTER 1. Objects, UML, and Java
chpt_01.fm Page 1 Tuesday, December 4, 2001 10:24 AM CHAPTER 1 Objects, UML, and Java This book is about object-oriented (OO) software development. Writing real object-oriented programs that are used by
More informationToday s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams
Today s Topic Lecture 5 Introduction to UML What is UML Why use UML? UML Static Use case, Class, Object Deployment, Component (Physical ) Dynamic Sequence, Collaboration (Interaction ) Activity, State
More informationLecture 34 SDLC Phases and UML Diagrams
That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome
More 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 informationA - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models
CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation
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 information