Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2
|
|
- Annis Hodge
- 5 years ago
- Views:
Transcription
1 Architectural Requirements Phase See Sommerville Chapters 11, 12, 13, 14,
2 Architectural Requirements Phase So7ware requirements concerned construc>on of a logical model Architectural requirements concern construc>on of a physical model Architecture bible : M. Shaw & D. Garlan, So#ware Architecture, Pren>ce Hall,
3 Architectural Design Concerns physical system par>>oning alloca>on of tasks to components high cohesion and low coupling = good / robust low cohesion and high coupling = bad / fragile high cohesion (high element dependence inside components) low coupling (low component interdependence, so design is robust against change) component interface design component reuse choice of architecture to meet performance and other nonfunc>onal requirements problem solu>on by divide and conquer 3
4 Architecture Design Process Mostly, we will instan>ate a well known global architecture, as well as sub architectures and design pa;erns by top down refinement all the way down to unit level. 4
5 Architecture Criteria (1) Is there a generic architecture or pavern that can be a template for the system or component? (Otherwise ad hoc.) (2) How will the system be distributed across hardware to achieve performance, security, reliability etc? (3) Which generic architectures provide different alterna>ves, and what are the tradeoffs? (tradeoff analysis) 5
6 Architecture (cont.) (4) How can each component be decomposed into sub components (divide and conquer, maximise reuse, cohesion vs. coupling) (5) How to implement control and co opera>on (6) How to evaluate the design? (predict performance?) (7) How to document the design (sta>c, dynamic, UML?) especially component interfaces so that coders can work to an interface 6
7 System Models Documenta>on depends on which kinds of system models we use: (1) Sta>c structural model (class or package diagram) (2) Dynamic process model run >me behavior (sequence diagram, statechart) (3) Interface model (class diagram, OCL, JML) (4) Rela>onship model (data flow diagram) (5) Distribu>on model across hardware (package diagram) (6) Tes>ng model define integra>on tests (JUnit, JBehave, TTCN) 7
8 Architecture 1: Client Server Client * * Server requester provider service1() service2() servicen() Request for service using RPC or CORBA, Java RMI, HTTP, etc. 8
9 Architecture 2: Three Tier Database Architecture 3. Interface layer 2. Applica>on logic layer 1. Storage layer Interface layer: objects dealing with user, windows, forms, Web pages, etc logic layer: control and en>ty objects for processing, Rule checking and no>fica>on Storage layer: implements storage, retrieval and query of persistent objects 9
10 Architecture 3: Four Tier Database Architecture 4. Presenta>on Client Interface layer of 3 >ered 3. Presenta>on Server 2. Applica>on logic layer 1. Storage layer Presenta>on Client sits on user machine. Presenta>on Server sits on server machine Different kinds of clients and servers possible Compare with MVC! 10
11 Possible of 4. WebBrowser Interface layer 3. Server Side Form 2. DB Connection 1. SQL Query 11
12 Architecture 4: Layered Subsystems hierarchically organized, each layer (1) depending only on layer below, (2) supplying services to layers above (iterated client server?) 12
13 Possible Instan5a5on ISO/OSI 7 layer communica5on hierarchy 7. Applica>on (mail, telnet, 7p ) 6. Presenta>on (XDR) 5. Session (RPC) 4. Transport (TCP, UDP) 3. Network (IP) 2. Data Link (Ethernet) 1. Physical (thinnet, thicknet, UTP) Hardware level 13
14 Architecture 5: Data Centered Centralise around a large data collec>on, aka repository App1 App3 App2 14
15 Architecture 6 : Independent components Execu>ng in parallel, with communica>on, aka object oriented architectures. e.g. simple OOP, peer to peer (2 way client server) 15
16 Architecture 7: Model View Controller (MVC) An architectural model that solves many user interface (UI) problems, e.g. shared data, mul>ple users, different views of the same data, upda>ng informa>on across all users, changes to underlying data, changes to representa>on, changing UI technology. 16
17 MyView viewdata Model coredata setofobservers 1 depends on * initialize() displaydata() update() 1 attach(observer) detach(observer) notify() getdata() modifydata() 1 updates * 1 updates viewdata MyController initialize() changedata() update() 17
18 Architecture 8: Data Flow Data flows between sta>c func>onal elements which transform it, aka pipeline architecture e.g. compiler C code parse tree assembler Machine code Parse procedure calls Translate assembler Link & Assemble Library
19 Design Pa;erns Are the answer to a ques>on that commonly arises How can I? PaVerns record successful solu5ons in so7ware development for sharing between projects. Gang of Four (GoF) Gamma, Helm, Johnson, Vlissides, founders of movement. Gamma et al, Design PaJerns: Elements of Reusable Object Oriented So#ware, Addison Wesley, Literally thousands of paverns!
20 Types of Pa;ern Basically 3 types of pavern Crea@onal: address problems of crea>ng an object in a flexible way. Separate crea>on, from opera>on/use. Structural: address problems of using O O constructs like inheritance to organize classes and objects Behavioral: address problems of assigning responsibili>es to classes. Suggest both sta>c rela>onships and paverns of communica>on
21 Example Pa;ern: Mediator (Behavioral) Problem: How can we deal with two or more classes which some>mes interact, but can also be used separately? Mediator promotes loose coupling by keeping objects from referring to one another explicitly. Put each interac>on between objects in a separate (Mediator) class. This class should have references to the objects.
22 A pavern for two objects which exist independently but have some coupling. This coupling is placed in its own class. Used by e.g. ActionListener in Java which couples together two graphical objects, e.g. window & button. Colleagues send and receive requests from a Mediator object. The mediator implements the coopera>ve behavior by rou>ng requests between appropriate colleagues.
23 Mediator Structure Mediator 1 mediator Colleague ConcreteMediator * Concrete Colleague1 Concrete Colleague2 *
24 Comments Façade, unlike Mediator, abstracts a subsystem of objects to provide a convenient interface. Unidirec@onal. Façade objects make requests of the subsystem, but not viceversa. Mediator enables coopera>ve behaviour, that colleagues don t or can t provide. Mul@direc@onal.
25 PSS 05 ARD Template Sec>ons 1 and 2 are similar to SRD template. 3. System Context. Gives a detailed descrip>on of the system context, with relevant diagrams. Defines the external interfaces of the product under development for these other systems 3.n. External interface defini@on. Provides an interface defini>on to each separate external component type or physical component. 25
26 4 System Design. Provides an overview of the design techniques used, especially any in house or non standard nota>ons, project specific methods, or non standard interpreta>on of standard languages/methods such as UML/ Waterfall. 4.1 Design method. Describes and references the design method. Why we did what we did Gives the top level view of the systems design, preferably with diagrams. Shows the major components which will be described in detail in Sec>on 5. Iden>fies control and data flow between components. 26
27 5 Component Gives detailed component informa>on according to a fixed template. Components may be top level components, iden>fied in Sec>on 4.2, or subcomponents of these. Preferably use a component iden>fica>on scheme which is easy to read/follow/ remember. 5.n [Component iden@fier] Fill in name here. 5.n.1 Type. Could be a module, an input/output/temporary file, a program, a class, a script, a web page, etc. 5.n.2 Purpose. Describe the purpose of the component, and relate this to a numbered so7ware requirement in the SRD. 5.n.3 Func@on. Describe the func>onality of the component, including its interface proper>es (call and return types) and logical behaviour. 5.n.4 Subordinates. List the immediate subcomponents of the component, using defined component iden>fiers. 27
28 5.n.5 Dependencies. Describe the logical precondi>ons for using this component, e.g. files and/or objects which must exist. 5.n.6 Interfaces. Define the control and data flow to and from the object. Gives a detailed picture of its context in the overall system architecture. 5.n.7 Resources. List any resources required by the component, such as external components external subsystems, hardware, etc. 5.n.8 References. reference any documents needed to understand the component. 5.n.9 Processing. Describe the control and data flow betwen immediate subcomponents of this component. If the component has no immediate subcomponents (i.e. it is fully decomposed) then outline the method of processing used by the component to perform its task (e.g. with pseudo code, state diagrams, etc). 5.n.10 Data. Describe in detail (where possible) the local data values and data structures belonging to (local in scope) this component. Otherwise give an outline descrip>on. 28
29 6 Feasibility and Resource Summarize the conclusions of a feasibility study around the architectural model. Priori>ze all components using a priority model (e.g. economy, standard, deluxe versions). Iden>fy and describe all future project tasks. Iden>fy task dependencies in terms of commencement and comple>on, preferably with a task flow chart. Es>mate the effort required for each project task. Produce a task alloca>on plan and schedule for each project staff member for the remainder of the project. This informa>on should preferably be presented in a table. 29
30 Iden>fy possible risks going forward, and for each risk, give a risk management proposal. Es>mate the overall schedule for making a detailed design, coding this design, tes>ng and delivering the final product and documenta>on according to the project deadlines. Iden>fy the cri>cal path in the project, and analyze possible project slippage along this path. 7 So^ware Requirements vs Components Traceability Matrix. Gives a table cross referencing architectural components (based on defined component iden>fers). 30
Object Oriented Design (OOD): The Concept
Object Oriented Design (OOD): The Concept Objec,ves To explain how a so8ware design may be represented as a set of interac;ng objects that manage their own state and opera;ons 1 Topics covered Object Oriented
More informationDesign Pa*erns. + Anima/on Undo/Redo Graphics and Hints
Design Pa*erns + Anima/on Undo/Redo Graphics and Hints Design Pa*erns Design: the planning that lays the basis for the making of every object or system Pa*ern: a type of theme of recurring events or objects
More informationComponent diagrams. Components Components are model elements that represent independent, interchangeable parts of a system.
Component diagrams Components Components are model elements that represent independent, interchangeable parts of a system. Components are more abstract than classes and can be considered to be stand- alone
More informationRecap on SDLC Phases & Artefacts
Prepared by Shahliza Abd Halim Recap on SDLC Phases & Artefacts Domain Analysis @ Business Process Domain Model (Class Diagram) Requirement Analysis 1) Functional & Non-Functional requirement 2) Use Case
More informationDesign pa*erns. Based on slides by Glenn D. Blank
Design pa*erns Based on slides by Glenn D. Blank Defini6ons A pa#ern is a recurring solu6on to a standard problem, in a context. Christopher Alexander, a professor of architecture Why would what a prof
More informationCOSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan
COSC 310: So*ware Engineering Dr. Bowen Hui University of Bri>sh Columbia Okanagan 1 Admin A2 is up Don t forget to keep doing peer evalua>ons Deadline can be extended but shortens A3 >meframe Labs This
More informationmore uml: sequence & use case diagrams
more uml: sequence & use case diagrams uses of uml as a sketch: very selec)ve informal and dynamic forward engineering: describe some concept you need to implement reverse engineering: explain how some
More informationA formal design process, part 2
Principles of So3ware Construc9on: Objects, Design, and Concurrency Designing (sub-) systems A formal design process, part 2 Josh Bloch Charlie Garrod School of Computer Science 1 Administrivia Midterm
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 informationModel- Based Security Tes3ng with Test Pa9erns
Model- Based Security Tes3ng with Test Pa9erns Julien BOTELLA (Smartes5ng) Jürgen GROSSMANN (FOKUS) Bruno LEGEARD (Smartes3ng) Fabien PEUREUX (Smartes5ng) Mar5n SCHNEIDER (FOKUS) Fredrik SEEHUSEN (SINTEF)
More informationObject-Oriented Design
Object-Oriented Design Lecture 20 GoF Design Patterns Behavioral Department of Computer Engineering Sharif University of Technology 1 GoF Behavioral Patterns Class Class Interpreter: Given a language,
More informationF.P. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering CIS 422
The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements...no
More informationPreliminary ACTL-SLOW Design in the ACS and OPC-UA context. G. Tos? (19/04/2016)
Preliminary ACTL-SLOW Design in the ACS and OPC-UA context G. Tos? (19/04/2016) Summary General Introduc?on to ACS Preliminary ACTL-SLOW proposed design Hardware device integra?on in ACS and ACTL- SLOW
More informationL6: System design: behavior models
L6: System design: behavior models Limita6ons of func6onal decomposi6on Behavior models State diagrams Flow charts Data flow diagrams En6ty rela6onship diagrams Unified Modeling Language Capstone design
More informationCISC327 - So*ware Quality Assurance
CISC327 - So*ware Quality Assurance Lecture 8 Introduc
More informationDesign Principles & Prac4ces
Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on
More informationCHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE Software Engineering Design: Theory and Practice 1 So#ware Engineering Life-cycle Phase Requirements Design Tes/ng Phase Ac7vi7es Elicita/on Analysis
More informationDesign Pa*erns. Philippe Collet. Master 1 IFI Interna3onal h8p://dep3nfo.unice.fr/twiki/bin/view/minfo/soeeng1213. P.
Design Pa*erns Philippe Collet Master 1 IFI Interna3onal 2012-2013 h8p://dep3nfo.unice.fr/twiki/bin/view/minfo/soeeng1213 P. Collet 1 Agenda Introduc3on First example Principles and classifica3on Presenta3on
More informationChris9an Kästner Charlie Garrod
Principles of So3ware Construc9on: Objects, Design, and Concurrency (Part 3: Design Case Studies) Introduc3on to GUIs Chris9an Kästner Charlie Garrod School of Computer Science 1 Administrivia Homework
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 informationWhat were his cri+cisms? Classical Methodologies:
1 2 Classifica+on In this scheme there are several methodologies, such as Process- oriented, Blended, Object Oriented, Rapid development, People oriented and Organisa+onal oriented. According to David
More informationAutomated System Analysis using Executable SysML Modeling Pa8erns
Automated System Analysis using Executable SysML Modeling Pa8erns Maged Elaasar* Modelware Solu
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static
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 informationJosh Bloch Charlie Garrod Darya Melicher
Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 1: Introduc9on Course overview and introduc9on to so3ware design Josh Bloch Charlie Garrod Darya Melicher 1 So3ware is everywhere
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 informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationIntroduction to Software Engineering 10. Software Architecture
Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >
More informationRAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0
software development simplified RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0 Eric Westfall - Indiana University JASIG 2011 For those who don t know Kuali Rice consists of mul8ple sub-
More informationDesign Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011
Design Patterns Lecture 1 Manuel Mastrofini Systems Engineering and Web Services University of Rome Tor Vergata June 2011 Definition A pattern is a reusable solution to a commonly occurring problem within
More informationHomework 1 Simple code genera/on. Luca Della Toffola Compiler Design HS15
Homework 1 Simple code genera/on Luca Della Toffola Compiler Design HS15 1 Administra1ve issues Has everyone found a team- mate? Mailing- list: cd1@lists.inf.ethz.ch Please subscribe if we forgot you 2
More informationCSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich
CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and
More informationArchitecture of So-ware Systems Distributed Components, CORBA. Mar>n Rehák
Architecture of So-ware Systems Distributed Components, CORBA Mar>n Rehák CORBA is OMG's open, vendor- independent specifica9on for an architecture and infrastructure that computer applica9ons use to work
More informationStructure Patters: Bridge and Flyweight. CSCI 3132 Summer
Structure Patters: Bridge and Flyweight CSCI 3132 Summer 2011 1 Introducing the Bridge Pa1ern Intent To decouple an abstrac7on from its implementa7on so that the two can vary independently. What does it
More informationPrinciples of So3ware Construc9on. A formal design process, part 2
Principles of So3ware Construc9on Design (sub- )systems A formal design process, part 2 Josh Bloch Charlie Garrod School of Computer Science 1 Administrivia Midterm exam Thursday Review session Wednesday,
More informationWeb Application Development
Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie INTRODUCTION & TERMINOLOGY PART 1 Objec8ves
More informationHow to sleep *ght and keep your applica*ons running on IPv6 transi*on. The importance of IPv6 Applica*on Tes*ng
How to sleep *ght and keep your applica*ons running on IPv6 transi*on The importance of IPv6 Applica*on Tes*ng About this presenta*on It presents a generic methodology to test the IPv6 func*onality of
More informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
More informationKaseya Advanced Workshop DAY TWO
Kaseya Advanced Workshop DAY TWO Developed by Kaseya University Powered by IT Scholars 1 Kaseya Version 6.2 Last updated on June 25, 2012 Day One Roadmap! Advanced Agent Procedures Day Two Advanced Monitoring
More informationRDD and Strategy Pa.ern
RDD and Strategy Pa.ern CSCI 3132 Summer 2011 1 OO So1ware Design The tradi7onal view of objects is that they are data with methods. Smart Data. But, it is be.er to think of them as en##es that have responsibili#es.
More informationCS342: Software Design. November 21, 2017
CS342: Software Design November 21, 2017 Runnable interface: create threading object Thread is a flow of control within a program Thread vs. process All execution in Java is associated with a Thread object.
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 informationDesign Patterns. Gunnar Gotshalks A4-1
Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem
More information3 Product Management Anti-Patterns by Thomas Schranz
3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about
More informationPatterns for Decoupling
Patterns for Decoupling Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information
More informationSo#ware Tes+ng. See also Sommerville, Chapter 8 Amman and Offut, Introduc)on to So,ware Tes)ng, Cambridge University Press, 2008.
So#ware Tes+ng See also Sommerville, Chapter 8 Amman and Offut, Introduc)on to So,ware Tes)ng, Cambridge University Press, 2008. Tes+ng Most basic form of post- hoc SQA Helps define program func+onality
More informationXIX. Software Architectures
XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
More informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? Patterns are intended to capture the best available software development experiences in the
More informationCOSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan
COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 A1 Posted over the weekend Two ques?ons (s?ll long ques?ons) Review of main concepts from COSC 111 Prac?ce coding
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationLeveraging User Session Data to Support Web Applica8on Tes8ng
Leveraging User Session Data to Support Web Applica8on Tes8ng Authors: Sebas8an Elbaum, Gregg Rotheermal, Srikanth Karre, and Marc Fisher II Presented By: Rajiv Jain Outline Introduc8on Related Work Tes8ng
More informationCSE Opera,ng System Principles
CSE 30341 Opera,ng System Principles Lecture 5 Processes / Threads Recap Processes What is a process? What is in a process control bloc? Contrast stac, heap, data, text. What are process states? Which
More informationChapter 6: Structural Design
Chapter 6: Structural Design Class Rela5onships Design alterna,ves for class use and reuse Composi5on Containment Inheritance Code Reuse Design Principles Rela5onships: Containment aka Holds- A subobjects
More informationMarking Guidelines for MVK Projects. MVK11. Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo)
Marking Guidelines for MVK Projects. MVK11 Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo) 2012-05- 03 Final Grade formulas: MVK DD1365 Grade = PPD + URD. Bachelor s Thesis DD143X Grade
More informationDynamic Web Development
Dynamic Web Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie MODULES, VIEWS, CONTROLLERS & ROUTES PART 2 Sec8on
More informationObject Design II: Design Patterns
Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game
More informationObject-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 6, System Design Lecture 1
Object-Oriented Software Engineering Conquering Complex and Changing Systems Chapter 6, System Design Lecture 1 Design There are two ways of constructing a software design: One way is to make it so simple
More informationBest Prac*ces in Accessibility and Universal Design for Learning. Rozy Parlette, Instruc*onal Designer Center for Instruc*on and Research Technology
Best Prac*ces in Accessibility and Universal Design for Learning Rozy Parlette, Instruc*onal Designer Center for Instruc*on and Research Technology Purpose The purpose of this session is to iden*fy best
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More informationJava. Package, Interface & Excep2on
Java Package, Interface & Excep2on Package 2 Package Java package provides a mechanism for par55oning the class name space into more manageable chunks Both naming and visibility control mechanism Define
More informationObject Oriented Methods with UML. Introduction to Design Patterns- Lecture 8
Object Oriented Methods with UML Introduction to Design Patterns- Lecture 8 Topics(03/05/16) Design Patterns Design Pattern In software engineering, a design pattern is a general repeatable solution to
More informationESE Einführung in Software Engineering!
ESE Einführung in Software Engineering! 10. Software Architecture! Prof. O. Nierstrasz" Roadmap! > What is Software Architecture?" > Coupling and Cohesion" > Architectural styles:" Layered" Client-Server"
More informationFounda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues
Founda'ons of So,ware Engineering Lecture 11 Intro to QA, Tes2ng Claire Le Goues 1 Learning goals Define so;ware analysis. Reason about QA ac2vi2es with respect to coverage and coverage/adequacy criteria,
More informationMonitoring IPv6 Content Accessibility and Reachability. Contact: R. Guerin University of Pennsylvania
Monitoring IPv6 Content Accessibility and Reachability Contact: R. Guerin (guerin@ee.upenn.edu) University of Pennsylvania Outline Goals and scope So=ware overview Func@onality, performance, and requirements
More informationAdvanced Object Oriented PHP
CNM STEMulus Center Web Development with PHP November 11, 2015 1/17 Outline 1 2 Diamond Problem Composing vs Inheriting Case Study: Strategy Design Pattern 2/17 Definition is when a class is based on another
More informationBudapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on
Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Code Genera*on Designing modeling languages Metamodel: a model of models o Abstract syntax o Concrete syntax
More informationSo#ware Engineering I. Based on materials by Ken Birman, Cornell
So#ware Engineering I Based on materials by Ken Birman, Cornell 1 So#ware Engineering The art by which we start with a problem statement and gradually evolve a solu@on There are whole books on this topic
More informationNetwork diagrams in context
PM Network diagrams in context SOW CHARTER SCOPE DEFINITION WBS circulation, negotiation, translation WBS WP à activities ----- estimations Time Cost GANTT PERT AOA AON - - - - - - - - - - - planning,
More informationUsing Design Patterns in Java Application Development
Using Design Patterns in Java Application Development ExxonMobil Research & Engineering Co. Clinton, New Jersey Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S.
More informationSoftware Engineering
Software ngineering Software Architecture for nterprise Information Systems Guido Menkhaus and milia Coste Software Research Lab, University of Salzburg References References Floyd Marinescu, JB Design
More informationRTP Taxonomy & Rela.onships
RTP Taxonomy & Rela.onships dra%- lennox- raiarea- rtp- grouping- taxonomy- 03 IETF 88 @Authors 1 Changes Since - 02 Major re- write Sec.on 2, Concepts, re- structured to a conceptual media chain with
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 informationInheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible
Inheritance EEC 521: Software Engineering Software Design Design Patterns: Decoupling Dependencies 10/15/09 EEC 521: Software Engineering 1 Inheritance is the mechanism by which one class can acquire properties/responsibilities
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 informationSystem Modeling Environment
System Modeling Environment Requirements, Architecture and Implementa
More informationCOSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan
COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 Quick Review Inheritance models IS- A rela?onship Different from impor?ng classes Inherited classes can be organized
More informationJosh Bloch Charlie Garrod Darya Melicher
Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 2: Class-level design Design paderns for reuse, part 2 Josh Bloch Charlie Garrod Darya Melicher 1 Administrivia Reading due today:
More informationTuesday, October 4. Announcements
Tuesday, October 4 Announcements www.singularsource.net Donate to my short story contest UCI Delta Sigma Pi Accepts business and ICS students See Facebook page for details Slide 2 1 Design Patterns Design
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 informationApplying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1
Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1 About the presenter Paul Kaunds Paul Kaunds is a Verification Consultant at
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 informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture
More informationAPPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS
APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT
More informationClasses & Objects CMSC 202
Classes & Objects CMSC 202 Programming & Abstrac9on All programming languages provide some form of abstrac'on Also called informa'on hiding Separa9ng how one uses a program and how the program has been
More informationWhy do Web Applica/ons Fail and What can be done about it?
Why do Web Applica/ons Fail and What can be done about it? Karthik Pa:abiraman 1 Frolin Ocariza Jr. 1 Ali Mesbah 1 Benjamin Zorn 2 1 University of Bri?sh Columbia (UBC), 2 MicrosoE Research (MSR) My Research
More informationLecture 19: Introduction to Design Patterns
Lecture 19: Introduction to Design Patterns 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
More informationDatabase Design CENG 351
Database Design Database Design Process Requirements analysis What data, what applica;ons, what most frequent opera;ons, Conceptual database design High level descrip;on of the data and the constraint
More informationDesign Patterns. CSC207 Winter 2017
Design Patterns CSC207 Winter 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationChapter 10 Object-Oriented Design Principles
Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis
More informationParallel Programming Pa,erns
Parallel Programming Pa,erns Bryan Mills, PhD Spring 2017 What is a programming pa,erns? Repeatable solu@on to commonly occurring problem It isn t a solu@on that you can t simply apply, the engineer has
More informationBest Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server
Copyright 2013 Splunk Inc. Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server Gen: Zaimi Professional Services #splunkconf Legal No:ces During the course of this presenta:on,
More informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture
More informationUNIX Sockets. COS 461 Precept 1
UNIX Sockets COS 461 Precept 1 Socket and Process Communica;on application layer User Process Socket transport layer (TCP/UDP) OS network stack network layer (IP) link layer (e.g. ethernet) Internet Internet
More informationInterfacing with Services. Jukka K. Nurminen
Interfacing with Services Jukka K. Nurminen 29.1.2013 Prac%cali%es I hope everybody has sent an assignment signup message to the course mailing list Assignments have been published GIT training GIT Lecture
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationCS 5150 So(ware Engineering 12. System Architecture
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering 12. System Architecture William Y. Arms Design The requirements describe the funccon of a system as seen by the client. For
More informationWork groups meeting 3
Work groups meeting 3 INF5040 (Open Distributed Systems) Sabita Maharjan sabita@simula.no Department of Informatics University of Oslo September 07, 2009 Design Patterns J2EE Design Patterns Outline EIS
More informationDecision making for autonomous naviga2on. Anoop Aroor Advisor: Susan Epstein CUNY Graduate Center, Computer science
Decision making for autonomous naviga2on Anoop Aroor Advisor: Susan Epstein CUNY Graduate Center, Computer science Overview Naviga2on and Mobile robots Decision- making techniques for naviga2on Building
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More information