10조 이호진 이지 호

Size: px
Start display at page:

Download "10조 이호진 이지 호"

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: 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 information

Unit 1 Introduction to Software Engineering

Unit 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 information

Architectural Blueprint

Architectural 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 information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural 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 information

Software Architecture

Software 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 information

In this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks

In 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 information

Software Architectures. Lecture 6 (part 1)

Software 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 information

Ch 1: The Architecture Business Cycle

Ch 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 information

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns

Design 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 information

Requirements and Design Overview

Requirements 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 information

History of object-oriented approaches

History 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 information

1 Software Architecture

1 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 information

SDC Design patterns GoF

SDC 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 information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 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 information

Application Architectures, Design Patterns

Application 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 information

UNIT-I Introduction of Object Oriented Modeling

UNIT-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 information

CS487 Midterm Exam Summer 2005

CS487 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 information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT 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 information

Object-Oriented Design

Object-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 information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan 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 information

The Analysis and Design of the Object-oriented System Li Xin 1, a

The 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 information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. 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 information

Software Architecture. Lecture 5

Software 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 information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket 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 information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE 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 information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components 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 information

Introduction to Object Oriented Analysis and Design

Introduction 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 information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 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 information

SOFTWARE 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. 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 information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: 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 information

Chapter 1: Programming Principles

Chapter 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 information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced 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 information

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.

UP 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 information

CS504-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 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 information

Ch 1: The Architecture Business Cycle

Ch 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 information

Chapter 1: Principles of Programming and Software Engineering

Chapter 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 information

09. Component-Level Design

09. 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 information

Appendix A - Glossary(of OO software term s)

Appendix 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 information

Software Architecture

Software 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 information

What is Software Architecture

What 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 information

Lecture 16: (Architecture IV)

Lecture 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 information

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Agile 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 information

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

SYLLABUS 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 information

SRI 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 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 information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. 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 information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms 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 information

COMP 6471 Software Design Methodologies

COMP 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 information

Structured Analysis and Structured Design

Structured 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 information

Software Engineering with Objects and Components Open Issues and Course Summary

Software 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 information

Software Architecture

Software 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 information

Review Software Engineering October, 7, Adrian Iftene

Review 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 information

CASE TOOLS LAB VIVA QUESTION

CASE 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 information

Software Architecture

Software 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 information

Object Oriented Programming

Object 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 information

Software Architectures

Software 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 information

Design 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.) 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 information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

Outline 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. 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 information

Outline of Unified Process

Outline 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 information

LOG8430: Architecture logicielle et conception avancée

LOG8430: 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 information

The Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

The 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 information

Software Architecture and Design I

Software 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 information

Unit Wise Questions. Unit-1 Concepts

Unit 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 information

Integration With the Business Modeler

Integration 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 information

QUICK GUIDE SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

QUICK 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 information

The Strategy Pattern Design Principle: Design Principle: Design Principle:

The 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 information

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.

Topics. 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 information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture 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

Introduction to software architecture Revision : 732

Introduction 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 information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software 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 information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT 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 information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-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 information

Software Development Fundamentals (SDF)

Software 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 information

Object Oriented Analysis and Design - Part2(Design)

Object 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 information

System Design and Modular Programming

System 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 information

Introduction to Unified Modelling Language (UML)

Introduction 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 information

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Darshan 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 information

Introduction to System Design

Introduction 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 information

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

SOFTWARE 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 information

Systems 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, 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 information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 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 information

Information systems modelling UML and service description languages

Information 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 information

CHAPTER 5 GENERAL OOP CONCEPTS

CHAPTER 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 information

Introduction to UML. (Unified Modeling Language)

Introduction 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 information

SHRI 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 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 information

Programmazione. Prof. Marco Bertini

Programmazione. 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 information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. 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 information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/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 information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design 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 information

CS:2820 (22C:22) Object-Oriented Software Development

CS: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 information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT 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 information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 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 information

Software Service Engineering

Software 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 information

Design of Embedded Systems

Design 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 information

KINGS COLLEGE OF ENGINEERING

KINGS 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 information

Chapter 13: Architecture Patterns

Chapter 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 information

Software 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 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 information

Chapter 7 Design and Implementation

Chapter 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 information

Architecture CSE 403. Fallingwater by Frank Lloyd Wright

Architecture 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 information

Software Engineering (CSC 4350/6350) Rao Casturi

Software 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