02291: System Integration
|
|
- Lora Watson
- 6 years ago
- Views:
Transcription
1 02291: System Integration Week 4 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018
2 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation: Centralized vs Decentralized Control/Computation Summary
3 From Requirements to Design Problem Given a requirements model consisting of: 1 use case diagram 2 detailed use case descriptions 3 glossary 4 non functional requirements how do I get a system design consisting of a component diagram b class diagram c behaviour design
4 From Requirements to Design: Solution Design process 1 Define the basic architecture of the system 2 The terms in the glossary give first candidates for classes, attributes, and operations 3 Realize one use case scenario / user story at a time simulate execution CRC cards
5 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation: Centralized vs Decentralized Control/Computation Summary
6 Introduction CRC Cards Class Responsibility Collaboration Developed in the 80 s Used to Analyse a problem domain Discover object-oriented design Teach object-oriented design Object-oriented design Objects have state and behaviour Think objects
7 CRC Card Template A larger example
8 Process Basic: Simulate the execution of use case scenarios / user stories Steps 1. Brainstorm classes/objects/components 2. Assign classes/objects/components to persons (group up to 6 peopel) 4. Execute the scenarios one by one a) add new classes/objects/components as needed b) add new responsibilities c) delegate to other classes / persons
9 Library Example: Problem Description and Glossary Problem Description Library system for checking out, returning, and searching for books. No more than 5 books can be loaned by one borrower at a time. And if a book is returned after its overdue date, a fine has to be paid.
10 Library Example: Problem Description and Glossary Problem Description Library system for checking out, returning, and searching for books. No more than 5 books can be loaned by one borrower at a time. And if a book is returned after its overdue date, a fine has to be paid. Glossary Librarien The object in the system that fulfills User requests to check out, check in, and search for library materials Book The set of objects that represent Users who borrow items from the library Borrower The set of objects that represent Users who borrow items from the library...
11 Library Example: Use Case Diagram Use Cases LibrarySystem borrow book return book User search for book
12 Library Example: Detailed Use Case Check Out Book Name: Check Out Book Description: The user checks out a book from the library Actor: User Main scenario: 1 A user presents a book for check-out at the check-out counter 2 The system registers the loan Alternative scenarios: The user already has 5 books borrowed 2a The system denies the loan The user has one overdue book 2b The system denies the loan
13 Example II Set of initial CRC cards Librarien The object in the system that fulfills User requests to check out, check in, and search for library materials Borrower The set of objects that represent Users who borrow items from the library Book The set of objects that represent items to be borrowed from the library Use case Check out book main scenario What happens when Barbara Stewart, who has no accrued fines and one outstanding book, not overdue, checks out a book entitled Effective C++ Strategies+?
14 Library Example: CRC cards
15 Library Example: CRC cards
16 Library Example: CRC cards
17 Library Example: CRC cards
18 Library Example: CRC cards
19 Library Example: CRC cards
20 Library Example: CRC cards
21 Library Example: CRC cards
22 Library Example: CRC cards
23 Library Example: CRC cards
24 Library Example: CRC cards
25 Library Example: CRC cards
26 Library Example: CRC cards
27 Library Example: CRC cards
28 Library Example: CRC cards
29 Library Example: All CRC cards
30 Process: Next Steps Repeat the process with other scenarios completes the design Review the result Group cards Check cards Refactor Transfer the result UML class diagram UML interaction diagrams
31 Example: Class Diagram (so far) Librarien checkoutbook(b:book) * Borrower canborrow 0..1 * Book isoverdue checkout(b:borrower) calculateduedate * Date compare(d:date) 0..1 duedate
32 Example: Sequence Diagram for Check-out book Check Out Book Realization
33 Summary Process Further scenarios give more detail Repeat CRC process on a more detailed level e.g. to design database interaction, or user interface Choose your level of abstraction and stay there Alternative: Build sequence and class diagrams directly (the modern way) Danger: talk about the system instead of being part of the system Possible when object-oriented principles have been learned CRC cards help with object-oriented thinking
34 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation: Centralized vs Decentralized Control/Computation Summary
35 Software architecture Software architecture building blocks: components glue: connectors ports: interfaces to the outside Decompose the system into smaller components and their interconnection E.g. browser, Web server, database E.g. presentation layer, application layer, domain layer
36 Components Components: replacable piece of software Resuable Pluggable Well-defined interfaces: provided and required ports connectors Similar to classes: better encapsulation Component = set of collaborating classes Microservices are components
37 Example Bank ATM: UML 2.0 Component Diagram BankATM Clearing Bank ATM Company CB BC BA AB Note: Cannot be expressed in Topcased and MagicDraw (cf. note on the home page)
38 Example Bank ATM: UML 2.0 Component Diagram BankATM verifypin verifypin withdraw Clearing Bank ATM Company CB BC BA AB pinok pinnotok pinok pinnotok withdrawok withdrawnotok
39 Example Bank ATM: Configuration (composite structure diagram) :BankATM atm 0 :ATM c:clearing Company :CB :BC b:bank :BA :BA :AB atm 1 :ATM :AB
40 Strong encapsulation of components Strong encapsulation What is provided to others What is needed of others Ports define a portal to a component Have interfaces: provided / required Connect to other components
41 Showing interfaces Required Interface by port BA Provided Interface by port AB Port AB Clearing Company Bank ATM Port BC Port BA Provided Interface by port BA Required Interface by port AB
42 Port BA Bank <<interface>> BankToAtm verifypin(iban:iban, pin:int) withdraw(iban, amount:money) <<interface>> AtmToBank pinok pinnotok withdrawok withdrawnotok ATM C1 «interface» I1 m1 m2 m3 «refine» «interface» I2 m1 m3 C2
43 Component Meta-Model Conceptual meta-model (not actual UML 2.0 meta-model) 1 Assembly * * Component CompositeComponent * SimpleComponent * Connector * Port Protocol 1 1 required * * Interface provided
44 Component Notation Component as a stereotype
45 Realizing components No runtime representation (usually) No programming language support (usually) Different types of component concepts EJB, CORBA, COM/DCOM,.NET, JavaBeans,... Microservices
46 Bank component with Implementation Bank component seen from the outside Bank component seen from the inside ClearingCompanyToBank BankToClearingCompany Bank «delegate» «delegate» BankToATMPort * Bank «delegate» «delegate» * BankToAtm AtmToBank Account Customer
47 Detailed Class Diagram for the Bank Component «interface» BankToAtm verifypin(a,p): bool withdraw(a,m): bool «interface» AtmToBank pinok pinnotok withdrawok withdrawnotok 1 atm BankToATMPort verifypin(a,p): bool withdraw(a,m): bool pinok pinnotok * Account number : IBAN balance : int withdraw(amount:int): bool * «interface» BankToClearingCompany pinok pinnotok «interface» ClearingCompanyToBank verifypin(a,p) 1 cc Bank name: String... pinok pinnotok accountfor(a): Account... 1 b * c * 1..* Customer name address... Rules for classes implementing components Provided interfaces must to be implemented by some class Required interfaces must to be used by one or serveral classes No access to and from classes of other components (exception: common datatypes) Use packages to indicate classes belonging to a component
48 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation: Centralized vs Decentralized Control/Computation Summary
49 Marriage Agency: How to implement? MarriageAgency matchcustomer(c):customer[*] * Customer sex:string birthyear:int interests:string[*] public class MarriageAgency{ private List<Customer> customers = new ArrayList<Customer>(); public List<Customer> matchcustomer(c) { List<Customer> matches = new ArrayList<Customer>(); for (Customer candidate : customers) {... // if customer matches candidate add to variable matches } return candidate; } }
50 Marriage Agency: centralized control MarriageAgency matchcustomer(c):customer[*] match(c,p) : boolean * Customer sex:string birthyear:int interests:string[*] public class MarriageAgency{ private List<Customer> customers = new ArrayList<Customer>(); public List<Customer> matchcustomer(c) { List<Customer> matches = new ArrayList<Customer>(); for (Customer candidate : customers) { // if customer matches candidate add to variable matches if (match(c,candidate)) { matches.add(candidate); } return candidate; } } public bool match(customer customer, Customer candidate) {... } }
51 Marriage Agency: centralized control sd match centralized loop [for all customers p]
52 Marriage Agency: decentralized/distributed control sd match decentralized loop [for all customers]
53 Marriage Agency: decentralized/distributed control MarriageAgency matchcustomer(c):customer[*] * Customer sex:string birthyear:int interests:string[*] match(c:customer) hasoppositesex(c) hasappropriateagedifference(c) hasoneinterestincommon(c) public class MarriageAgency{ private List<Customer> customers = new ArrayList<Customer>(); public List<Customer> matchcustomer(c) { List<Customer> matches = new ArrayList<Customer>(); for (Customer candidate : customers) { if (c.match(candidate)) { matches.add(candidate); } return candidate; } } } public class Customer {... public bool match(customer candidate) {... } }
54 Design for change: centralized control MarriageAgency matchcustomer(c):customer[*] matchcustomertypea(c):boolean matchcustomertypeb(c):boolean * Customer sex:string birthyear:int interests:string[*] CustomerTypeA CustomerTypeB public List<Customer> matchcustomer(customer c) { List<Customer> r = new ArrayList<Customer>(); for (Customer p : customers) { if (c instanceof CustomerA) { if (matchcustomertypea(p)) { r.add(p); } continue; } if (c instanceof CustomerB) { if (matchcustomertypeb(p)) { r.add(p); } continue; } } return r; }
55 Design for change: centralized control sd match centralized loop [for all customers] alt [c instanceof CustomerTypeA]
56 Design for change: decentralized control sd match decentralized loop [for all customers] alt
57 Design for change: decentralized control MarriageAgency matchcustomer(c):customer[*] * Customer sex:string birthyear:int interests:string[*] match(c:customer) CustomerTypeA match(c:customer) CustomerTypeB match(c:customer) public List<Customer> matchcustomer(customer c) { List<Customer> matches = new ArrayList<Customer>(); for (Customer candidate : customers) { if (c.match(candidate)) { matches.add(p); } } return matches; }
58 Centralised control
59 Centralized control Order calculate price calculate base price calculate discounts 1 Customer name discount info * OrderLine quantity 1 name price Product
60 Distributed control
61 Class diagram
62 Distributed control
63 Distributed Control: Class diagram Order calculate price calculate base price calculate discounts 1 Customer name discount info calculate discount * OrderLine quantity calculate price 1 Product name price get price for quantity
64 Centralized vs Distributed control Centralized control One method Data objects procedural programming language Distributed control Objects collaborate Objects = data and behaviour Object-orientation Advantage Easy to adapt Design for change CRC cards lead to distributed control
65 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation: Centralized vs Decentralized Control/Computation Summary
66 Next Week: UML Class Diagrams Read/Skim the lectures notes and the UML user manual on classes and class diagrams Send me questions and UML class diagrams for discussion by Monday 26.2 What is unclear to you? What would you like to hear more about? Why is this feature used in this digram? What does this notation in this diagram mean?... I am going to answer the questions and discuss your class diagrams in the lecture Your questions and diagrams determine the lecture
02291: System Integration
02291: System Integration Week 5 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2017 Contents Object-orientation: Centralized vs Decentralized Control/Computation Class
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 7 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents Sequence Diagrams Object-orientation: Centralized vs Decentralized
More information02291: System Integration
02291: System Integration Week 5 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents Components (part Ia) Class Diagrams Important Concepts Class Diagrams Software
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 2: Class diagrams part 1 Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2010 c 2010 H. Baumeister (IMM) Software Engineering
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 6: Design 1: CRC cards, class and sequence diagram Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Midterm evaluation
More information02291: System Integration
02291: System Integration Week 6 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents UML State Machines Components (part II) UML Behaviour Diagrams Activity Diagrams
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 5 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Contents From Requirements to Design: CRC Cards Class Diagrams I Sequence Diagrams
More information02291: System Integration
02291: System Integration Week 7 Hubert Baumeister hub@imm.dtu.dk DTU Compute Technical University of Denmark Spring 2016 Contents Components (part III) Sequence Diagrams Design Validation: Use Case Realization
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 6 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Sequence Diagrams II Object-orientation: Centralized vs Decentralized
More information02291: System Integration
02291: System Integration Week 7 Hubert Baumeister hub@imm.dtu.dk DTU Compute Technical University of Denmark Spring 2013 Contents Sequence Diagrams Design Validation: Use Case Realization Example: Interaction
More informationCourse System Integration Deriving the use case realization
Course 02291 System Integration Deriving the use case realization Hubert Baumeister (huba@dtu.dk) March 21, 2017 The goal of the use case realization is to show that the use cases can be executed using
More informationObject-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering
Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain
More information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2011 Contents 1 Recap 1 2 More UML Diagrams 2 2.1 Object Diagrams........................................... 2 2.2 Communication Diagrams......................................
More information02291: System Integration
02291: System Integration Introduction to UML Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 What is the UML? Unified Modelling Language (UML) Family of graphical
More informationJava/A Taking Components into Java
Java/A Taking Components into Java Florian Hacklinger Institut für Informatik Ludwig-Maximilians-Universität München Oettingenstraße 67, 80538 München, Germany florian.hacklinger@pst.ifi.lmu.de Abstract
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 11 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap I Software Development Processes (cont.) I Project Planning I Design
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 Engineering I (02161)
Software Engineering I (02161) Week 8: Principle of good Design, Project, and Design Patterns Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2009 c 2009
More informationMechEng SE3 Lecture 7 Domain Modelling
MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html
More information02291: System Integration
02291: System Integration Week 8 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Components: Synchronized communication Sequence Diagrams Use Case Realization
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 10 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Time Project Planning Non-agile Agile Refactoring Contents Basic Principles
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents Basic Principles of Good Design Design Patterns Low Coupling High coupling
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 4 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap week 1: Introduction week 2: Requirements: Domain model, Use Cases week
More informationLecture 17 Engineering Design Resolution: Generating and Evaluating Architectures
Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at
More informationObjectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...
10 Analysis Modeling M MAJOR A J O R T TOPICSO P I C S Objectives... 144 Pre-Test Questions...144 Introduction... 145 Collaboration Diagrams... 145 Flow of Events and Special Requirements... 151 Class-Responsibility-Collaboration
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 informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 5 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents User Stories Class Diagrams I Version control User stories Requirements
More information10.1 Big Objects, Business Objects, and UML Components
II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Contents Course Introduction Introduction to Software Engineering Practical
More informationSoftware component interactions and sequence diagrams
Software component interactions and sequence diagrams Paul Jackson School of Informatics University of Edinburgh What do we need to know? Recap Recall that this is an overview of software engineering,
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 informationCS246 Software Abstraction and Specification Final Examination
CS246 Software Abstraction and Specification ination Spring 2007 Date: 04-Aug-2007 Time: 4.00 6.30pm Permitted Aids: None 14 pages Student Name: UW Student ID: Instructions: (Read carefully before the
More informationOral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer
Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)
More information02291: System Integration
02291: System Integration Week 3 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents User Stories Activity Diagrams Acceptance Tests User stories Basic requirements
More informationSoftware Architectures. Lecture 6 (part 1)
Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements
More informationAdministrivia. IBM Info Session Date: Wed,, Jan 13 Time: 5:30 7 pm Location: Wesbrook 100
Department of Computer Science Undergraduate Events Events this week Drop-In Resume Edition Date: Mon. Jan 11 Time: 11 am 2 pm Location: Rm 255, ICICS/CS Industry Panel Speakers: Managers from IBM, Microsoft,
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Recap Requirements Engineering user- / system requirements functional- / non-functional
More informationPractical Session 2: Use Cases and a Requirements Model.
Practical Session 2: The Use Case and Requirements Model T he following report uses a retail banking scenario to illustrate how Enterprise Architect can be used to develop Use Cases and a Requirements
More informationLecture 16: (Architecture IV)
Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.
More informationIntroduction to Unified Modelling Language (UML)
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 Introduction to Unified
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 9: Principles of good design, Patterns, Layered Architecture Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2010 c 2010
More informationCS 451 Software Engineering
CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Design Engineering A systematical way to translate SRS into design Start with use cases from SRS
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 9 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week Software Development Process Version Control Contents Project planning
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Course Introduction Introduction to Software Engineering Practical
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 informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationCOMP-361 Software Engineering Project. Final. February 24th 2013: 6pm - 9pm. (10% of final grade) February 24, 2014
COMP-36 Software Engineering Project Final February 24th 203: 6pm - 9pm (0% of final grade) February 24, 204 Student Name: Examiner: Jörg Kienzle McGill ID: Instructions: DO NOT TURN THIS PAGE UNTIL INSTRUCTED
More informationModel-based Transition from Requirements to High-level Software Design
Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview
More informationGoal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD
Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer
More informationIntroduction to Unified Modelling Language (UML)
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 Introduction to Unified
More informationCh t 8 Chapter 8. System Models
Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Course Introduction Introduction to Software Engineering Practical
More informationOO Analysis and Design with UML 2 and UP
OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language
More informationComponent Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems
Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification
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 informationClass Diagrams in Analysis
3.2 Subject/Topic/Focus: Introduction to Classes Summary: Conceptual Modeling Notation: Classes Associations: Multiplicity, Roles, Aggregation, Composition Generalization Objects Analysis Process Literature:
More informationOO System Models Static Views
OO System Models Static Views UML Class & Object Diagrams Software Engineering OO Models Class Diagram Slide 1 Objective Introduces the evolutionary approach for building classes Explain how to identify
More information1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE
1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE LECTURE-1 Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns
More informationUse Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.
!"# $%&' !" #" $%%&&& ! Static Structure Diagram Collaboration Collaboration Diagram Collaboration Diagram Diagram Activity Diagram CRC Card CRC Card UML defines a standard notation for object-oriented
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 9: Layered Architecture Persistency Layer; Software Development Process Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
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 informationUnified Modeling Language
Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear
More informationCHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)
CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) Sample Deployment diagram Component diagrams are different in
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 informationToday s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:
CompSci 280 S2 2107 Introduction to Software Development Today s Agenda Topics: Introduction Activity Diagram Object interaction Sequence Diagram Reading: Booch G.,The Unified Modeling Language User Guide,
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 4 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Test in general validation and defect test unit-, component-, system-,
More informationSummary of the course lectures
Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and
More informationBusiness Modelling. PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e. Early phase of development Inputs: Activities: informal specification
PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant System: Business Modelling Slide 1/1 Business Modelling Early phase of development Inputs: informal specification Activities: create use
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationS1 Informatic Engineering
S1 Informatic Engineering Advanced Software Engineering WebE Design By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS 8. Web App. Process
More informationSEEM4570 System Design and Implementation Lecture 11 UML
SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Requirements Engineering functional / non-functional requirements Elicitation,
More informationProgress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development
Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented
More informationOO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC
OO design Classes, Responsibilities, Collaborations (CRC) 1 bank accounts the system to be modelled: bank accounts with differing fee structures purpose: evaluate different account types with respect to
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationUML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK
01 January, 2018 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Document Filetype: PDF 200.01 KB 0 UML DIAGRAM FOR PLATFORM ASSIGNMENT RAILWAY E-BOOK Platform assignment system for the trains in a
More informationLecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček
Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram
More informationIS 0020 Program Design and Software Tools
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Programming Tips and Tricks Booleans Constants Delegation Requirements
More informationComputer Systems Ms Jennifer. Ms Jennifer Senior 4 1
Computer Systems Ms Jennifer Ms Jennifer Senior 4 1 Systems Analysis stages and the Waterfall model Ms Jennifer Senior 4 2 What is Analysis? When we are very young we undergo through the process of learning
More informationObject Oriented Analysis and Design: An Overview
Object Oriented Analysis and Design: An Overview Balaji Rajagopalan Credits: Material for the slides is drawn from a variety of sources including Object Oriented Analysis and Design using UML by Ali Bahrami.
More informationRequirements Engineering
Chapter 3: Requirements Modeling Requirements Engineering Objectives In this chapter, you will learn about: Functional requirements Modeling requirements Overview of basic modeling paradigms Gus Requirements
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems A formal design process Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Optional
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationCom S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing. Dr. Hen-I Yang ComS Dept., ISU
Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing Dr. Hen-I Yang ComS Dept., ISU Feb. 22, 2011 Reflection Peeking Ahead Today (2/22) Introduction to Service
More informationObject Orientated Analysis and Design. Benjamin Kenwright
Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary
More informationBefore We Start. How to Represent the Architecture of Your Application Using UML 2.0 and More. O que catchup, x-burger e Peter Pan têm em comum?
How to Represent the Architecture of Your Application Using UML 2.0 and More Paulo Merson Software Engineering Institute Pittsburgh, PA pfm@sei.cmu.edu www.sei.cmu.edu/architecture Before We Start O que
More information02267: Software Development of Web Services
02267: Software Development of Web Services Week 8 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2016 1 Recap Midtterm Evaluation
More informationDesign patterns. OOD Lecture 6
Design patterns OOD Lecture 6 Next lecture Monday, Oct 1, at 1:15 pm, in 1311 Remember that the poster sessions are in two days Thursday, Sep 27 1:15 or 3:15 pm (check which with your TA) Room 2244 + 2245
More informationPart II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process
Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.
More informationSEEM4570 System Design and Implementation. Lecture 10 UML
SEEM4570 System Design and Implementation Lecture 10 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,
More informationObject Oriented Analysis and Design - Part2(Design)
Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems
More informationEnterprise Architect Training Courses
On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object
More information3. UML Class Diagrams Page 1 of 15
3. UML Class Diagrams Page 1 of 15 The UML Class Diagram: Part 1 In the last article, we saw what use cases were, and how to identify and create use cases. Taking the series ahead, in this article, we
More informationWelcome to Blackboard
Welcome to Blackboard Logging In To access your course, go to http://online.dbu.edu. Click on Login, and enter your User Name and Password. This will be the same user name and password you use to check
More informationCS211 Lecture: Design Quality; Cohesion and Coupling; Packages
CS211 Lecture: Design Quality; Cohesion and Coupling; Packages Objectives: Last revised October 4, 2004 1. To introduce the notion of design quality, tradeoffs, and some principles of quality design 2.
More informationTopics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)
Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration
More information