10조 이호진 이지 호
|
|
- Fay Elliott
- 5 years ago
- Views:
Transcription
1 10 조 이호진 이지호
2
3
4 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component
5 1. INTRODUCTION D design-decomposition design, a mapping of a system into its components pieces FP design-family pattern design, whose goal is to establish s exploitable e commonalities over a family of systems
6
7 2.1. General Design Concepts a person who designed the crossword puzzle a person solving a crossword puzzle ( O ) ( X )
8 2.1. General Design Concepts Goal- a means of transportation Constrainttype of engine Five key concepts Goals Constraints Alternativesti Representations Solutions Design of a modern car Alternativeengineer (using their experiences) Representation- blueprint of car frame Solutioncar construction
9 Software Design Context Software Software development life cycle Software Software Software requirements coding and integration and analysis testing qualification the intended use of the system to be developed is analyzed and the requirements are specified the software units identified by the software design activity are developed and t e s t e d the various software units identified during design are combined together and tested
10 Software Design Context Life cycle model Linear model - process runs linearly through the activities ex) the waterfall model Incremental model - process runs iteratively through the activities ex) the spiral model waterfall model spiral model
11 2.3. Software Design Process Software architectural design - how the system is broken down and organized into components the software architecture Software detailed design - the specific behavior of the various components identified by the software architecture
12
13 IEEE Standard 1471 defines software architecture as follows The fundamental organization of a system embodied d in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution
14 3.1. Architectural Structures and Views software architecture analysts managers stakeholder testers Different high-levelh l facets of a software design should be described and documented implementers These facets are called Views
15 AView View represents a partial aspects of a software architecture that shows specific properties of a software system It is a collection of models that represent one aspect of an entire system
16 3.1. Architectural Structures and Views A well-known approach is Kruchten s 4+1 view model Logical view how the functional requirements are satisfied. Implementation view how the design is broken down into implementation units. Process view issues related to concurrency and ddistribution tib ti Deployment view how the runtime units and components are distributed ib t d onto the various processing nodes Use case ie ties together the other Use-case view ties together the other views, illustrating how they work together
17 3.1. Architectural Structures and Views Views can be classified into three categories, called Viewtype Module viewtype classes, collections of classes, and layers Component and connector viewtype - processes, objects, clients, servers, and data stores Allocation viewtype hardware, file system, and development team
18 3.2. Macro/Microarchitectural Patterns :Architectural Styles vs Design Patterns The key goal of patterns is to describe to codify and document, In order to make it transferable, a system of patterns is introduced as following below The name of the pattern The context, the key situations in which the pattern may apply An example illustrating the need for the pattern The general problem that the pattern tries to solve The solution underlying the pattern, both the structure of the pattern s elements and their run time behavior Guidelines for the pattern s implementation
19 3.2. Macro/Microarchitectural Patterns :Architectural Styles vs Design Patterns Patterns can be classfied into three key major categories (depending on their scope and level of abstraction) Architectural Styles General structure ex) layers, pp pipes, filters, blackboard Distributed systems ex) client server, three tiers, broker Interactive systems ex) model view controller, presentation abstraction control Adaptable systems ex) microkernel, reection Other styles ex) batch, interpreters, process control, rule based
20 3.2. Macro/Microarchitectural Patterns :Architectural Styles vs Design Patterns Design Patterns (Gamma et al) Creational pattern deal with the creation of objects Ex) builder,factory,prototype,singleton Structural patterns deal with composition of objects Ex) adapter, bridge, composite, decorator Behavioral patterns how objects interact Ex) command, interpreter, iterator, mediator, memento, observer,state, template, visitor
21 3.2. Macro/Microarchitectural Patterns :Architectural Styles vs Design Patterns Design Patterns (Buschmann et al) Structural t decomposition patterns decomposition of subsystems and complex components into cooperating parts Organization of work patterns how components collaborate together to solve a complex problem Access control patterns guards and control access to services and components Management patterns homogeneous collections of objects, services and components in their entirety Communication patterns help organize communication between components
22 Design of Families of Systems and Frameworks An important goal of software design has always been to allow for the reuse of software elements Recent approach toward that goal Software product line a collection of systems sharing a managed set of features constructed from a common set of core software assets Product line a family of systems and is based on and populated with software components
23
24 software quality defined as... The totality of features and characteristics of a software product or service that bear on its ability to satisfy stated or implied needs
25 According to ISO/IEC Standard software quality can be characterized by the following six properties Efficiency Functionality Functionality Reliability Usability Maintainability Reliability Efficiency Maintainability Portability Portability Usability
26 4.1. Design Quality Attributes Run-time qualities observable only while the system is functioning ex) functionality, usability, performance, reliability, availability, security Development-time qualities impact on the work of fthe development and maintenance teams, but not directly observable at run time. ex) integrability, modifiability, portability, reusability, testability
27 4.1. Design Quality Attributes Appropriate architectural choices can modifiability reusability performance can t functionality usability
28 4.1. Design Quality Attributes Can I improve the rating for that attribute by making structural changes? Kazman and Bass
29 4.1. Design Quality Attributes Design review approach, identify the key desirable properties of a design as being the following well structured simple efficient i adequate
30 4.1. Design Quality Attributes Design review approach, identify the key desirable properties of a design as being the following flexible practical implementable standardized
31 4.2. Measures Function-oriented (structured) measures the design s s structure, obtained through functional decomposition, is represented as a structure chart on which measures can be computed Object-oriented measures the design structure is represented as class diagrams, on which measures can be computed
32 4.3. Quality Analysis and Evaluation Tools Software design reviews informal or semiformal, often group-based, techniques used to verify the quality of design artifacts t Design esg reviews e Requirements tracing
33 4.3. Quality Analysis and Evaluation Tools Simulation and prototyping dynamic techniques used to evaluate a design Reliability analysis Feasibility prototyping o
34
35 5.1. A Selection of Design Notations Static view Class and diagrams used to represent a set of classes(and objects) and their relationships. used in object-oriented oriented design Component diagrams used to model the static implementation view of a system Ex) to document the module structure
36 5.1. A Selection of Design Notations Static view Deployment diagrams used to model the static deployment view of a system. Typically, such diagrams can be used to represent distribution aspects ex) to model embedded, client/server or distributed systems Structure charts used to describe the calling structure of programs. Such diagrams are at the heart of the structured design approach
37 5.1. A Selection of Design Notations Static view Structure (Jackson) diagrams used to describe the data structures manipulated by a program
38 5.1. A Selection of Design Notations Dynamic view Activity diagrams used to show the control flow activity to activity. These diagrams are related to the older owcharts Interaction diagrams used to show the interactions ti among a group of objects Data flow diagrams used to show the data flow Data flow diagrams used to show the data flow among a set of processes
39 5.1. A Selection of Design Notations Dynamic view State transition diagrams and statechart diagrams used to show the control flow from state t to state t in a state t machine Pseudocode and program design languages used to describe, generally at the detailed design stage, the behavior of a procedure or method
40 5.2. Design Documentation How these various notations can be combined to obtain a coherent design document?
41 5.2. Design Documentation manager developer tester Integrator customer user Different needs The selection of an appropriate set of views strongly depends on the stakeholders
42
43 6.1.General Strategies and Enabling Techniques Abstraction - the process of forgetting information so that things that are different can be treated as if they were the same Divide and conquer - technique that solves a complex problem by dividing it into two or more simpler problems Divide and conquer
44 6.1.General Strategies and Enabling Techniques Coupling and cohesion Coupling - the strength of the relationships between software components A good organization structure has strong cohesion within groups and weak coupling between groups Cohesion - how the elements making up a component are related
45 6.1.General Strategies and Enabling Techniques Information hiding and encapsulation Information hiding - Every module is characterized by its knowledge of a design decision which it hides from all others Encapsulation -The grouping of related ideas into one unit, which can thereafter be referred to by a single name the separation of interface and implementation Hiding
46 6.1.General Strategies and Enabling Techniques Sufficiency, i completeness, primitiveness iti these notions pertain to the idea that t a software component should capture all the important characteristics ti of an abstraction ti needed d to interact t with it and nothing more
47 Structured Design is.. One of the early software design paradigms, in which decomposition centers on identifying the major systems functions
48 6.2. Function-oriented oriented (Structured) Design Transaction analysis Transformation analysis Two key strategies that have been proposed to help derive a software architecture, represented as a structure chart, from a DFD
49 6.2. Function-oriented oriented (Structured) Design Transaction analysis, Transformation analysis Transaction is characterized Identify the central transform - by some event in the the portion of the DFD that environment that generates contains the essential a stimulus to the system, functions of the system and is which in turn triggers some independent of the particular system s activity that implementation of the input produces a response having and output an effect upon the event
50 6.2. Function-oriented oriented (Structured) Design a1 a2 a3 a2 a2 a3 e1 a2 e1 e2 a1 e2 Data Flow Diagram (DFD) Figure 1.using transform analysis to derive a structure chart from a DFD First cut structure chart
51 Key concepts of structured design is.. Coupling and Cohesion, which characterize a design of good quality
52 6.2. Function-oriented oriented (Structured) Design Good design Good design should restrict the coupling between modules to normal types of coupling(ex. data, stamp, control coupling, data coupling,) Good design should avoid other pathological forms of coupling(ex. Common and content coupling) Good design should give preference to modules having high cohesion
53 6.2. Function-oriented oriented (Structured) Design Additional heuristics have been suggested to improve the quality of the design Fan-in/fan-out, Decision splitting, Balanced systems
54 6.2. Function-oriented oriented (Structured) Design Fan-in/fan-out, Decision splitting, Balanced systems A high fan-in is considered good A low to moderate fanout is generally preferable Decision splits should be avoided, when the recognition of a condition and the execution of the associated action are not kept within the same module Balanced system is preferable, when the toplevel modules deal with logical and abstract data.(clean, independent of implementation format)
55 Function-oriented oriented (Structured) )Design Structured design s limit Structured design, being one of the first well- described and well-known design methods, made important t contributions ti to the filed of software design However, with emergence of object-oriented languages and programming, it started to reach its limits
56 The notion of object is.. This is intimately tied to the notions of data abstraction, encapsulation, and abstract data type (ADT) Object - created/destroyed, has a unique identity, a state and exhibits some well-defined behavior Objects are generally organized into classes
57 6.3. Object-oriented Design Early approaches Later approaches on OOD Objects were mostly similar to entities in entity-relationship modeling. Inheritance was not used. These are said to be object-based Inheritance and polymorphism pay a key role There are said to be object-oriented
58 6.3. Object-oriented Design OO design methods OO design models OO design methods aim at developing software systems composed of interacting objects that are highly modular and, thus, easy to modify, extend, and maintain OO design models address structural aspects(ex. Classes and objects, their relationships and their grouping as well as behavior ones) objects behavior and interactions
59 6.3. Object-oriented Design The notations used for documenting OO models Diagrammatic Textual Mathematical
60 6.3. Object-oriented Design Structured method OO analysis method Structured design OO design method
61 Unified Modeling Language (UML) is.. UML, evolving from the integration of a number of OO methods, provides a wide variety of notations for OO analysis and design. UML includes various notations (ex. real-time modeling, formal specification using OCL)
62 Unified Process(UP) is.. UP consists of four phases(inception, elaboration, construction, transition). Each phases, delimited by an appropriate milestone, consists it of one or more iterations. ti Each iteration generally results in an executable release and involves a number of core workows (ex. requirements, analysis, design, implementation and test)
63 6.3. Object-oriented Design UML versus UP UML is simply a set of notations, neutral with respect to any specific design method. Unified Process(UP), elaborated by the same people who developed UML, does define a software development process that incorporates OO analysis and design.
64 6.3. Object-oriented Design The key input to the design workflow It is a collection of use cases that describe the functional requirements (a use case is a description of a set of sequences of actions that a system performs to yield an observable result)
65 The output of the design workflow is.. It is a design model consisting of classes and their collaborations, possibly organized into packages and subsystems, that provide the intended behavior while satisfying the non-functional requirements.
66 6.3. Object-oriented Design Class diagram and analysis-model It models a set of classes and their relationships. (ex. association, aggregation, inheritance, dependency..) During design, class diagrams play a central role as they identify the major kinds of objects that will cooperate to produce the system behavior. It also contains class diagrams. Although these latter classes can provide a starting point for identifying some of the design model classes, there is not necessarily a direct correspondence between the two sets of classes.
67 6.3. Object-oriented Design The example of the UML class diagram BankAccount balance balance a () transferto() deposit() withdraw() owns Customer Figure 2.A UML class diagram for bank accounts SavingAccount CheckingAccount
68 6.3. Object-oriented Design Interaction diagrams How objects from the various classes collaborate to provide the desired system behavior is described using Interaction diagrams Interaction diagrams come in two flavors (ex. sequence diagrams, collaboration diagrams)
69 6.3. Object-oriented Design The example of a simple collaboration diagram 1:b:=balance() transferto(b2,amout) 3:[b<=amount] deposit (amount) Fi 3 A UML ll b ti di f Figure 3. A UML collaboration diagram for a transferto operation
70 6.3. Object-oriented Design Statechart diagrams interaction diagrams do not describe the behavior of a specific class of objects in reaction to all possible events. Such class specific behavior can be described using a state chart diagram, a generalized form of state transition diagram It describes an objects behavior from an internal viewpoint
71 6.3. Object-oriented Design The early OO methods The early OO methods focused mostly on data abstraction and ADTs, viewing gprimarily objects through their components and static structural relationships, an approach called data-driven driven design.
72 6.3. Object-oriented Design Responsibility-driven design UP design approach, as do many modern OOD methods, instead focuses on properly identifying and assigning responsibilities to classes and objects, and approach named responsibility-driven Responsibility-driven design generally improves encapsulation, produces a less complex design with improved coupling and cohesion, and tends to produce systems in which the overall control is better organized and balanced, thus more modular
73 6.3. Object-oriented Design The growth of the OO approach The growth of the OO approach over the last two decades has been phenomenal (ex. The design patterns movements..) For lack of space, several aspects related with OO design have not been addressed (ex. persistence, error handling, component-based design..)
74 Datastructure Data-structure structure-oriented Design Approach in which the emphasis is on the data that a program manipulates rather than the functions it performs
75 Datastructure Data-structure structure-oriented Design In JSP Designer first tdescribes the input and output tdata Develops the program s control structure by establishing an appropriate correspondence between the input and output data structure diagrams Once the program control structure is properly defined, appropriate p program actions and conditions are then added to obtain the final program
76
77 7. Conclusion Software design is a rich and still evolving field
Presenter: 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 informationUnit 1 Introduction to Software Engineering
Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering
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 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 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 informationIn this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks
In this Lecture you will Learn: Design Patterns Chapter 15 What types of patterns have been identified in software development How to apply design patterns during software development The benefits and
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 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 informationDesign Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns
Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many
More 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 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 information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationSDC Design patterns GoF
SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationApplication Architectures, Design Patterns
Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term
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 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 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 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 informationDarshan Institute of Engineering & Technology for Diploma Studies
REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all
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 informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationSoftware Architecture. Lecture 5
Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More 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 informationComponents Based Design and Development. Unit 3: Software Design Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
More informationSOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa
SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U
More informationKeywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.
Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad
More 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 informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationUP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.
UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of
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 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 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 information09. Component-Level Design
09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a
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 informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationWhat is Software Architecture
What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements
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 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 informationSYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business
Contents i UNIT - I UNIT - II UNIT - III CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Software Reuse Success Factors. CHAPTER - 2 [REUSE-DRIVEN SOFTWARE ENGINEERING IS A BUSINESS] Reuse Driven Software
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 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 informationIdioms and Design Patterns. Martin Skogevall IDE, Mälardalen University
Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang
More informationCOMP 6471 Software Design Methodologies
COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Week 7 Outline Software Architecture Layered Architecture Model-View-Control
More informationStructured Analysis and Structured Design
Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern
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 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 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 informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
More informationSoftware Architecture
Software Architecture Prof. R K Joshi Department of Computer Science and Engineering IIT Bombay What is Architecture? Software Architecture? Is this an Architecture? Is this an Architecture? Is this an
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 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 informationDesign Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)
Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced
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 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 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 informationLOG8430: Architecture logicielle et conception avancée
LOG8430: Architecture logicielle et conception avancée Modeling, OO Concepts, and Design Patterns Winter 2018 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike
More informationThe Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed
The Software Design Process CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Outline Challenges in Design Design Concepts Heuristics Practices Challenges in Design A problem that can only be defined
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 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 informationIntegration With the Business Modeler
Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design
More informationQUICK GUIDE SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
QUICK GUIDE http://www.tutorialspoint.com/software_architecture_design/quick_guide.htm Copyright tutorialspoint.com SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION The architecture of a system describes its
More informationThe Strategy Pattern Design Principle: Design Principle: Design Principle:
Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design
More informationTopics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.
CS310 - REVIEW Topics Process Agile Requirements Basic Design Modular Design Design Patterns Testing Quality Refactoring UI Design How these things relate Process describe benefits of using a software
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 informationIntroduction to software architecture Revision : 732
Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More 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 informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationSoftware Development Fundamentals (SDF)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Software Development Fundamentals (SDF) Fluency in the process of software development is a prerequisite to the study of most
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 informationSystem Design and Modular Programming
CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the
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 informationDarshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1
Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than
More informationIntroduction to System Design
Introduction to System Design Software Requirements and Design CITS 4401 Lecture 8 System Design is a creative process no cook book solutions goal driven we create a design for solving some problem constraint
More informationSOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA
SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented
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 informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationInformation systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Overview of design patterns for supporting information systems
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationIntroduction to UML. (Unified Modeling Language)
Introduction to UML (Unified Modeling Language) What Is the UML? UML stands for Unified Modeling Language. UML is a family of graphical notations that help in describing and designing software systems
More informationSHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY
SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 1301-OBJECT ORIENTED ANALYSIS AND
More 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 informationVragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity
Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit
More information5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered
Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationCS:2820 (22C:22) Object-Oriented Software Development
The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this
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 informationAns 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.
Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?
More 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 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 informationKINGS COLLEGE OF ENGINEERING
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK Subject Code/Name : CS1310-Object Oriented Analysis and Design Year/IV Sem
More informationChapter 13: Architecture Patterns
Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns
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 informationChapter 7 Design and Implementation
Chapter 7 Design and Implementation Chapter 7 Design and Implementation Slide 1 Topics covered Object-oriented design using the UML Design patterns Implementation issues Reuse Configuration management
More informationArchitecture CSE 403. Fallingwater by Frank Lloyd Wright
Architecture CSE 403 Fallingwater by Frank Lloyd Wright Outline What is a software architecture? What does an architecture look like? What is a good architecture? Properties of architectures Example architectures
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 information