Software Design and Implementation. Example Architecture KIWC
|
|
- Jean Fleming
- 6 years ago
- Views:
Transcription
1 Software Design and Implementation Example Architecture KIWC
2 Previously on SDI What is design? What is traceability? What is architecture? Why architectures are important? Architectural styles
3 KWIC The KWIC index system accepts an ordered set of lines, each line is an ordered set of words, and each word is an ordered set of characters. Any line may be circularly shifted by repeatedly removing the first word and appending it at the end of the line. The KWIC index system outputs a listing of all circular shifts of all lines in alphabetical order.
4 KWIC: Sample input/output HOW ARCHITECTURE WINS TECHNOLOGY WARS THE ART OF SYSTEMS ARCHITECTING Input HOW ARCHITECTURE WINS TECHNOLOGY WARS ARCHITECTURE WINS TECHNOLOGY WARS HOW WINS TECHNOLOGY WARS HOW ARCHITECTURE TECHNOLOGY WARS HOW ARCHITECTURE WINS WARS HOW ARCHITECTURE WINS TECHNOLOGY THE ART OF SYSTEMS ARCHITECTING ART OF SYSTEMS ARCHITECTING THE OF SYSTEMS ARCHITECTING THE ART SYSTEMS ARCHITECTING THE ART OF ARCHITECTING THE ART OF SYSTEMS ARCHITECTING THE ART OF SYSTEMS ARCHITECTURE WINS TECHNOLOGY WARS HOW ART OF SYSTEMS ARCHITECTING THE HOW ARCHITECTURE WINS TECHNOLOGY WARS OF SYSTEMS ARCHITECTING THE ART SYSTEMS ARCHITECTING THE ART OF TECHNOLOGY WARS HOW ARCHITECTURE WINS THE ART OF SYSTEMS ARCHITECTING WARS HOW ARCHITECTURE WINS TECHNOLOGY WINS TECHNOLOGY WARS HOW ARCHITECTURE Output
5 KWIC Requirements Functional requirements Non functional requirements Modifiability changes in processing algorithm changes in data representation Extendibility Enhancement of functionality Additional functionality Performance Space Time Reusability
6 How to solve problem? (Potentially huge) design space Many solutions of the problem How to select good solution?
7 KWIC Architecture Alternative 1: Shared data solution Master control Input Circular Shift Alphabetizer Output Characters Index Alphabetized Index Input medium Output medium
8 KWIC Architecture Alternative 1 Modifiability - algorithm Line shifting As it reads line All at one time On demand (lazy) when alphabetization is needed Modifiability data Storing words and lines Compressed Uncompressed 1d/2d array, linked list Extendibility Eliminate noise words (eg. a, the, and, ) Performance Reusability
9 Architecture Alternative 1 Recap. Style: Shared Data Components: Processes & Data Connectors: Direct Data (Memory) Access, Subprogram call Constrains: Data communication between the components trough shared storage Rationale: Some intuitive appeal, as distinct computational aspect are isolated in different modules Shared data still very present. Where? OO approach getting popular
10 KWIC Architecture Alternative 2: Abstract Data Type Master control Input Output setc(i,w,j,c) getc(i,w,j) Words(i) cssetup getc(i,w,j) words(i) alph Ith(i) Lines Input medium Circular Shifter Alphabetizer Output medium
11 KWIC Architecture Alternative 2 Modifiability - algorithm Line shifting As it reads line All at one time On demand (lazy) when alphabetization is needed Modifiability data Storing words and lines Compressed Uncompressed 1d/2d array, linked list Extendibility Eliminate noise words (eg. a, the, and, ) Performance Reusability
12 Architecture Alternative 2 Recap. Style: Abstract Data Type (ADT) Components: Objects & Data Connectors: Messages Constrains: Other components can access data only by invoking interface (information hiding) Rationale: If selected, usually because of non functional requirements
13 KWIC Architecture Alternative 3: Implicit invocation Master control Input Circular Shift Alphabetizer Output Insert I-th Control I-Lines CS-Lines A-Lines I-th Input medium Output medium
14 KWIC Architecture Alternative 3 Modifiability - algorithm Line shifting As it reads line All at one time On demand (lazy) when alphabetization is needed Modifiability data Storing words and lines Compressed Uncompressed 1d/2d array, linked list Extendibility Eliminate noise words (eg. a, the, and, ) Performance Reusability
15 Architecture Alternative 3 Recap. Style: Implicit invocation Components: Processes & Data Connectors: Implicit invocation Constrains: Computations are invoked implicitly as data is modified, based on active data model Rationale: If selected, usually because of non functional requirements Can be difficult to control the order of processing
16 KWIC Architecture Alternative 4: Pipes and Filters Input Circular Shift Alphabetizer Output Input medium Output medium
17 KWIC Architecture Alternative 4 Modifiability - algorithm Line shifting As it reads line All at one time On demand (lazy) when alphabetization is needed Modifiability data Storing words and lines Compressed Uncompressed 1d/2d array, linked list Extendibility Eliminate noise words (eg. a, the, and, ) Performance Reusability
18 Architecture Alternative 4 Recap. Style: Pipes and Filters Components: Filters Connectors: Pipes Constrains: Data can be shared only trough pipes, no direct access Rationale: If selected, because of component reusability Possible performance lost
19 KWIC Architecture: Summary Shared Data ADT Implicit Invocation Pipes and Filters Modifiability Algorithm Data repr Extendibility Performance Space Time Reusability
20 Administration: Dates of examinations Possible dates 19 th January: Normal Examination 27 th January: Repetitive Examination
21 Software Design and Implementation (R)UP
22 Imagine the world Where there are no directions for making software Where most projects fail Where each project and every company has its own notation Where customer cannot read plans Where developers cannot read specifications Where software is not developed iteratively
23 What is process? A process defines Who is doing What, When and How to reach a certain Goal. In software engineering the goal is to build a software product or to enhance an existing one New or changed requirements Software Engineering Process New or changed system
24 Waterfall Development Requirements Analysis Design Code & Unit Testing Subsystem Testing System Testing T I M E
25 Waterfall Development: Risk vs. Time R I S K Requirements Analysis Design Code & Unit Testing Subsystem Testing System Testing T I M E
26 (Rational) Unified Process ((R)UP) Three in one Software development approach Well-defined and well-structured software engineering process Process product provided with customizable process framework
27 Rational Unified Process (RUP) Unifies best practices from many disciplines into a consistent full lifecycle process Premier process for the UML, developed by the company that brought you the UML Applicable to a wide variety of applications and industries Decreases Time To Market Increases Predictability
28 Rational Unified Process: Geneology Requisite Requirements Mgmt Objectory Use Cases OO Analysis Rational Abstraction Encapsulation Iterative Devel OO Architecture Visual Modeling UML RUP Verdix Cross-development Pure-Atria SQA Automated Testing Automated Branch/Merge Dynamic Views Replication Runtime Error Detection
29 RUP Increase of team productivity All team members share 1 knowledge base 1 process 1 view how to develop process 1 modeling language
30 UML Definition OMG-endorsed standard (Object Management Group) UML Semantics Document inside-view specifies semantics of constructs UML Notation Guide outside-view specifies notation for expressing constructs Object Constraint Language specification document definition of a (textual) language for expressing logical constraints
31 O Que é a UML? Unified Modeling Language é a linguagem para: Especificar Visualizar Construir Documentar os artefatos de software de um sistema
32 UML is For For Problems Specifying Visualizing Promoting Understanding Documenting For Problem Solving Capturing Attempts Communicating Attempts Leveraging Knowledge For Solutions Specifying Visualizing Evaluating Constructing Documenting
33 Some Parts of UML Class Diagrams models Object Diagrams example models Use Case Diagrams document who can do what in a system Sequence Diagrams shows interactions between objects used to implement a use case Collaboration Diagrams same as above, different style Statechart Diagrams possible states and responses of a class and what transitions them Activity Diagrams describe the behaviour of a class in response to internal processing Component Diagrams Organization of and dependencies amongst software implementation components Deployment Diagrams Describe the mapping of software implementation components onto processing nodes
34 This Course and UML You will use UML for the project UML Has its warts Good enough when augmented by written explanation Cover only the most useful subset of UML Mainly class/object/use case/sequence charts. UML is still evolving (still upcoming 2.0, some proposals for 3.0) -
35 RUP Overview Unified Process is component based system is built using software components interconnected using well defined interfaces Unified Process uses Unified Modeling Language (UML) Unified Process is distinguished by being use-case driven architecture-centric iterative and incremental Based around the 4Ps - People, Project, Product, Process
36 RUP Overview II Provides disciplined approach to assigning tasks and responsibilities Guide for how to use Unified Modeling Language (UML) effectively Activities create and maintain (UML) models Is a configurable process
37 Iterative and Incremental
38 Iterative Development Initial Planning Planning Requirements Management Environment Analysis & Design Implementation Deployment Evaluation Each iteration results in an executable release Test
39 Risk Profile of an Iterative Development Transition Transition Risk Risk Inception Inception Elaboration Elaboration Construction Construction Preliminary Preliminary Iteration Iteration Architect. Architect. Iteration Iteration Architect. Architect. Iteration Iteration Devel. Devel. Iteration Iteration Devel. Devel. Iteration Iteration Devel. Devel. Iteration Iteration Transition Transition Iteration Iteration Transition Transition Iteration Iteration Post- Postdeployment deployment Waterfall Waterfall Time Time Staffing Risk Risk
40 Iterative Development Characteristics Critical risks are resolved before making large investments Initial iterations enable early user feedback Testing and integration are continuous Objective milestones provide short-term focus Progress is measured by assessing implementations Partial implementations can be deployed
41 Iterative and Incremental Controlled iterative development is superior to the traditional waterfall approach for many reasons: Handle changing requirements Continuous integration Risk mitigation Allows for tactical changes Facilitates reuse Results in a more robust architecture Learning Process refinement
42 Iterative and Incremental Divides all work into smaller iterations Early iterations are prototypes They serve as trail blazers for both projects planning and technologies Early architectural prototypes define the core architecture The time-sequential order of iterations is critical and based on use case prioritizations and risks Results in incremental releases of the system Develop the software iteratively One or more iterations leads to a new increment of the system Iterations may be concurrent
43 Iterative Development Process Components Requirements Analysis Design Architecture Level Class Level Inception Phases Elaboration Construction Transition One iteration Implementation Test Supporting Components Project Management Process Configuration preliminary iteration(s) iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Iterations
44 Use Case Driven
45 Use Case Driven All process components, from requirements capture to test, are driven by use cases Analyze Capture, Clarify and Validate the Use Cases Design and Implementation Realize the Use Cases Test Verify that the Use Cases are fulfilled Use cases bind these work steps together
46 Use-Case-Driven Development The use cases defined for a system are the basis for the entire development process. The use cases drive the development: In requirements analysis the use cases are used to capture the requirements In design you identify classes from the usecases In implementation you implement the use cases In test you verify the use cases during test The use cases constitute test cases
47 Process Components and Models Requirements Analysis realized by Each process component is associated with a particular model. Design Implementation Use-Case Model Design Model implemented by verified by Test Implementation Model Test Model
48 Use-Case-Driven Development Use cases play several roles during the software-engineering process. They are used as a basis for iterative development They form a foundation for what is described in user manuals They may be used as ordering units For example, a customer can get a system configured with a particular mix of use cases
49 Organizing Work Assignments are on a per use case basis Analysis Design and Implementation Testing Domain Experts System Architects Senior Designers Programmers Senior System Integrators and Testers
50 Architecture-Centric
51 Architecture-Centric Focuses on finding the the architecture baseline up-front A systematic approach to defining a good architecture Derived from top rank use cases Balanced with component legacies: platform technology, frameworks, patterns, and Balanced with performance, trade-offs,... Designed to make the system more resilient to future changes Designed for and with substantial reuse Intuitively understandable
52 Architecture is Multi-Dimensional Logical View Component View Use Cases Collaboration View Deployment View
53 Architecture - How and When Process Components Requirements Analysis Design Architecture Level Class Level Inception Phases Elaboration Construction Transition Architecture iteration Implementation Test Supporting Components Project Management Process Configuration preliminary iteration(s) iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Iterations
54 Summing Up
55 Putting It All Together Process Components Requirements Analysis Design Architecture Level Class Level Inception Phases Elaboration Construction Transition Implementation Test Supporting Components Project Management Process Configuration preliminary iteration(s) iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Iterations
56 There is NO Universal (OO) Process! organization products people skills configurable process tools configurable and open application domain An Integrated set of Tools to Support Process & People
57 RUP Is a Process Framework A set of pluggable components
58 Two parts of a Harmonized Whole Unified Modeling Language Process Convergence Today Unification leads to standards Convergence in the future Process frameworks through consensus
59 Software Design and Implementation OOA
60 Evolution of Object-Oriented Development Methods Mid to late 1980s Object-Oriented Languages (esp. C++) were very much in vogue However, there was little guidance on how to divide a problem into OO classes. 1990: Object Modeling All at around the same time, many were borrowing an argument from structured design: The best organization for a software systems is one that is cohesive in the problem domain, not in the solution space Tends to isolate changes Tends to make the program easier to understand Developed methods for applying this concept to OO design. Rumbaugh, Coad, Wirfs-Brock, Booch, Jacobson
61 Object Modeling Method Step 1: OOA Analyze the problem domain Identify problem domain classes and relationships between classes Identify attributes and methods Identify states and transitions Sample object structures and interactions Not programming! Abstracting the real-world. Step 2: OOD Use the OOA as the core of a solution to: User interface design Database design OO program design
62 Uses for UML OOA A visual language for, in the problem domain, capturing knowledge about a subject expressing knowledge for the purposes of communication OOD A visual language for, in the solution space, capturing design ideas communicating design ideas Related, but distinct usages Must supplement both with written explanations
63 The World Out There The real world is impenetrably complex e.g., a complete model of you would include DNA, behavior specifications, total history, parents history, influences, for a particular problem, abstracting you as last name first name student ID course final grade may be enough. The Object-Oriented paradigm is one method for simplifying the world.
64 Objects [Rumbaugh] An object is A concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand Objects promote understanding of the real world provide a practical basis for computer implementation Decomposition of a problem into objects depends on Judgment The nature of the problem being solved Not only the domain: two analyses of the same domain will turn out differently depending upon the kind of programs we wish to produce.
65 Classes A class describes a group of objects with similar properties. Class: Instructor Object: Mitja Lenič Object: Jorgel Cardoso Class: Department Object: Department of Computer Science Object: Departamento de Matemática e Engenharias Instructor Department
66 Attributes Data values held by the objects of a class Instructor -name :string -age :int -weight :int
67 Operations A function or a transformation that may be applied to or by objects in a class. Not often used (not often terribly useful) in an OOA Instructor -name :string -age :int -weight :int +teach ():void +grade ():void +listen_to_complaints ():void
68 Links and Associations The means for establishing relationships among objects and classes. link: a connection between two object instances association: a collection of links with common structure and semantics. Instructor Department
69 Object Diagrams Models instances of things contained in class diagrams. Shows a set of objects and their links at a point in time Useful preparatory to deciding on class structures. Useful in order to better explain more complex class diagrams by giving instance examples. DME : Department Mitja :Instructor Jorge :Instructor DCS :Department
70 Multiplicity Used to indicate the number of potential instances involved in the association when the other associated classes are fixed. Instructor * + has Department + teaches for * A given instructor can teach for potentially many departments (or none) A given department employs zero or more instructors
71 Multiplicities Carry Important Messages Used to indicate the number of potential instances involved in the association when the other associated class is fixed. Instructor 1..* + has Department + teaches for 0..2 A given instructor can teach for at most one department at a time, or may not be currently teaching for any department All departments have at least one instructor, but probably more
72 Attributes on Associations pay Instructor teaches for Department
73 Aggregation Indicators (Part-Of) Department Window Implied multiplicity of 1 Student Frame Glass Aggregation (no associated semantics) Composition (strong ownership, coincident lifetime)
74 Generalization (a.k.a. Inheritance, is-a) Shape Rectangle Circle Triangle Square
75 Avoiding Morphing Classes Analysis shown below may not be a good choice, as objects of class SDIInstructor may teach other things and different things next term. Avoid situations where objects will need to morph classes Instructor SDIInstructor
76 Next time on SDI OOA Example OOD
Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process
Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative
More 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 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 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 informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
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 informationSoftware design and Implementation 1/6. Software Design and Implementation. Sample Final Exam
Software design and Implementation 1/6 Software Design and Implementation Sample Final Exam 18.11.2004 Conditions: Closed book Duration: 120 min Name: Student ID: 1. /20 2. /20 3. /20 4. /20 5. /20 Total
More informationAnalysis and Design with UML
Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order
More informationSoftware 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 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 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 informationIMPORTANT NOTICE TO STUDENTS
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 KWIC Case Study CS
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 informationIncremental development A.Y. 2018/2019
Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with
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 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 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 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 informationPractical Model-Driven Development with the IBM Software Development Platform
IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges
More informationOutline of Unified Process
Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based
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 informationUML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.
UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,
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 informationGetting a Quick Start with RUP
Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite
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 informationCHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview
CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:
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 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 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 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 information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
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 informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationAn Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram
An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms
More informationSoftware Architecture. Lecture 4
Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
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 informationINTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling
User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use
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 informationLecture 2: Software Engineering (a review)
Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is
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 informationVO Software Engineering
Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch
More informationSoftware Engineering from a
Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning
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 informationDesign and Information Hiding
Design and Information Hiding 15-214: Foundations of Software Engineering Jonathan Aldrich Related Reading: D. L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. CACM 15(12):1053-1058,
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
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 informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationDesigning Component-Based Architectures with Rational Rose RealTime
Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers
More informationOO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado
OO Requirements to OO design Csaba Veres Alan M. Davis (1995), Colorado Alan Davis? Guru? Academic and professional www.omni-vista.com? Controversial article on research into requirements engineering Requirements
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 informationThe Analysis and Design of the Object-oriented System Li Xin 1, a
International Conference on Materials Engineering and Information Technology Applications (MEITA 2015) The Analysis and Design of the Object-oriented System Li Xin 1, a 1 Shijiazhuang Vocational Technology
More informationOutline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.
Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationObject Oriented System Development
Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an
More informationObject-Oriented Systems Development: Using the Unified Modeling Language
Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's
More informationRational Software White paper
Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations
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 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 informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationUML- a Brief Look UML and the Process
UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined
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 informationUnified Modelling Language
Unified Modelling Language Phil Robinson What is the UML? A language that unifies the industry s best engineering practices for modelling software systems Goals Simple and extensible Broad application
More informationSchedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)
Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach 14:30 Case Study of Elevator Control System (problem definition, use case model) March 19th 13:00 Case Study of Elevator Control
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 informationMAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)
Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate
More informationIntroduction to UML. Danang Wahyu utomo
Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality
More informationSoftware Engineering (CSC 4350/6350) Rao Casturi
Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams
More informationSoftware Engineering Lab Manual
Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-
More informationWhat is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering )
What is UML / why UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering ) UML notation represents the state of art in term of Object
More informationUML Primer. -Elango Sundaram
UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,
More informationCS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam
CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering
More informationLecture 8: Use Case -Driven Design. Where UML fits in
Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
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 & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
More informationObject-Oriented Analysis and Design Using UML
Object-Oriented Analysis and Design Using UML Student Guide - Volume 1 OO-226 Rev C D61808GC10 Edition 1.0 D62408 Copyright 2003, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This
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 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 informationSE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.
SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used
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 informationSoftware Architecture
Software Architecture Lecture 5 Call-Return Systems Rob Pettit George Mason University last class data flow data flow styles batch sequential pipe & filter process control! process control! looping structure
More informationArchitecture-Centric Evolution in Software Product Lines:
Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu
More informationA PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML
A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento
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 informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Introduction Why OO Development? Improved structure of software easier to: Understand Maintain Enhance Reusable
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 information17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04
CMPSCI520/620 ***DRAFT*** 11/4/04 17- Readings OOAD Using the UML Copyright 1994-1998 Rational Software, all rights reserved will post Jackson System Development (JSD) Phases the modeling phase Entity/action
More informationCourse 3 7 March
Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams
More informationSession 1b: Overview of systems analysis methodology
Session 1b: Overview of systems analysis methodology The system specification (ESD) Ways of documenting an ESD Criteria to be satisfied Historical survey Comp 320 / 420, spring, 2018 Alternative names
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 6 UML Introduction Structural diagrams Basics What is? Please explain
More information1. Software Systems Complexity, OO Paradigm, UML
1. Software Systems Complexity, OO Paradigm, UML Software Systems Complexity Inherent Arbitrary Complexity Problem Domain Complexity Expressing the Requirements Changing Requirements System Evolution -
More informationObject Oriented Programming
Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering
More informationA number of optimizations are already in use by the majority of companies in industry, notably:
1 Abstract Mechatronics products contain significant amounts of software. Most advances in embedded software development focus on specific phases of the development process. However, very little emphasis
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 informationSoftware Development Chapter 1
Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic
More 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 information3.0 Object-Oriented Modeling Using UML
3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:
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 information