CS 575: Software Design
|
|
- Candice Harris
- 5 years ago
- Views:
Transcription
1 CS 575: Software Design Introduction 1
2 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation Criteria Infrastructure 2
3 Expressing A Software Design Software Designs are complicated, therefore, they must be modeled Similar to an architects blueprint A model is an abstraction of the underlying problem Designs should be modeled, and expressed as a series of views Helpful to use a modeling language such as UML 3
4 Modeling as a Design Technique Designs are too complicated to develop from scratch Good designs tend to be build using models 1) Abstract different views of the system 2) Build models using precise notations (e.g., UML) 3) Verify that the models satisfy the requirements 4) Gradually add details to transform the models into the design 4
5 Modeling as a Design Technique Lets Build this System Structural Behavioral Models Packaging Requirements, Test/Validation Criteria Infrastructure Incremental Refinement Lets Start Building this System Design 5
6 Modeling as a Design Technique - Improved Lets Build this System Structural Behavioral Models Packaging Requirements, Test/Validation Criteria Infrastructure Frameworks, Patterns, Templates, etc. Incremental Refinement Lets Start Building this System Design 6
7 Modeling Designs Design Designing With Models Model Repository Very Complicated To Understand Modeling Tool Visualization 7
8 UML A modeling Notation for Design Structural Class Diagrams Packaging/Implementation Package Diagrams Component Diagrams Requirements, Test/Validation Criteria Behavioral Use Cases Infrastructure/ Sequence Diagrams Environment Collaboration Diagrams Deployment Diagrams Statechart Diagrams Activity Diagrams 8
9 Software Architecture According to Shaw and Garlan The Software Architecture of a system consists of a description of the system elements, interactions between the system elements, patterns that guide the system elements, and constraints on the relationships between system elements. Its a more abstract view of the design Its helpful for communication and complexity management Problem: There is no standard definition see 9
10 The Software Architecture Stack Software Architecture Subsystem Decomposition Subsystem Dependencies Subsystem Interfaces Module/Class Decompositions Module/Class Dependencies Module/Class Interfaces Data Structures Algorithms 10
11 The Software Architecture Stack Software Architecture Subsystem Decomposition Subsystem Dependencies High-Level (Abstract) Design Subsystem Interfaces Module/Class Decompositions Low-Level (Detailed) Design Module/Class Dependencies Module/Class Interfaces Data Structures Algorithms 11
12 Why do we design A software design is not necessary for trivial systems, but for large systems a design is essential Manage complexity Validation of delivered software Simplify future maintenance A mechanism for communication between domain experts and technical professionals Enables Visualization Enables project team members to work concurrently Partitioning the work effort with limited overlap Example: Concurrently developing test cases while the code is being development 12
13 Why is design so hard Software design can t be taught, but principles of good design can There are degrees of good and bad design, but its hard to say if a design is correct or not The underlying assumptions and requirements that support the design change A design is like wine, it takes a long time to see if it is good or not 13
14 Design Methodologies Waterfall Iterative Extreme Programming 14
15 Software Development Methodology A Methodology is: A Process What happens over time Coupled to the Software Development Lifecycle (SDLC) A Management Approach What is needed to move from one step to another Helps with the project management aspects of a software development project 15
16 Modeling Emphasis for Different Design Approaches Data Object Oriented Component Oriented Structure Traditional/ Structured Function 16
17 Jumpstarting Design? Starting from scratch blank screen is tough. Components of a design toolbox Templates, Patterns, Reference Architectures, Frameworks, and so on 17
18 Example: Jakarta Struts Presentation Framework 18
19 Example: J2EE Architecture Patterns Source: blueprints/ corej2eepatterns/patterns/ 19
20 Example: Intercepting Filter Pattern Architectural Pattern Problem: Preprocessing and post-processing of a client Web request and response are required When a request enters a Web application, it often must pass several entrance tests prior to the main processing stage: Has the client been authenticated? Does the client have a valid session? Is the client's IP address from a trusted network? Does the request path violate any constraints? What encoding does the client use to send the data? Do we support the browser type of the client? The key to solving this problem in a flexible and unobtrusive manner is to have a simple mechanism for adding and removing processing components, in which each component completes a specific filtering action. 20
21 Design Patterns Example: Observer Pattern Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically Note: Design pattern references often include sample code in a variety of languages to illustrate how to use the pattern. 21
22 What s good about Patterns They solve common problems in a proven way They tend not to be implementation specific They tend to be classified in a common way context, forces, examples, etc They embody good design principles Example: Loose Coupling 22
23 Design Quality Software design quality, as with other ideas on quality, is an elusive concept: It depends on priorities of your company and the customers: fastest to implement easiest to implement easiest to maintain, evolve, port most efficient/reliable/robust end-product. 23
24 How to Fix A Software Design Many times the source code is the only up-to-date documentation for a software system Must be able to recover the design to some extent Must be able to improve the design where appropriate 24
25 Improving Existing Designs - Refactoring See Martin Fowler s Book What is Refactoring: Refactoring is a technique to restructure code in a disciplined way Used to improve a system design in any number of ways Pattern/Template based process Automated tools exist Refactoring is a behavior preserving transformation of the source code 25
26 Example: Refactoring PushDown Method Before Bill +setname() +getaddress() +send() After Bill +setname() +getaddress() #send() Note: There are many ways to do this type of refactoring this is just one example. EBill +send() MailBill +send() 26
27 Anti-Patterns (plus Refactoring) AntiPatterns are Negative Solutions that present more problems than they address AntiPatterns are a natural extension to design patterns AntiPatterns bridge the gap between architectural concepts and real-world implementations. Understanding AntiPatterns provides the knowledge to prevent or recover from them Recovery can be via Refactoring From: 27
28 Antipattern Example: Poltergeists Proliferation of classes [Riel 96] Spurious classes and associations Stateless, short-lifecycle classes Classes with few responsibilities Transient associations Excessive complexity Unstable analysis and design models Analysis paralysis Divergent design and implementation Poor system performance Lack of system extensibility From: 28
29 Antipattern Example: Poltergeists From: 29
30 Antipattern Example: Fixing Poltergeists Refactor to eliminate irrelevant classes Delete external classes (outside the system) Delete classes with no domain relevance Refactor to eliminate transient data classes Refactor to eliminate operation classes Refactor other classes with short lifecycles or few responsibilities Move into collaborating classes Regroup into cohesive larger classes From: 30
31 Good Design Properties Hierarchical: A good design should be organized into a well-designed hierarchy of components. Modular: Separate distinct concerns (dataand processing) into distinct containers (i.e.,subsystems, modules, and/or classes). Hide implementation details and provide clean, simple interfaces for each container. 31
32 Good Design Properties Independent: Group similar things together; limit the amount of special knowledge that unrelated components may share. If you change your mind about something, the impact will be localized. 32
33 Good Design Properties Simple Interfaces: Endless flexibility adds complexity. Complex interfaces mean: hard to understand by users and developers (e.g., Unix man page syndrome) many possible variations of use inconvenient to change interface in order to eliminate bad options. You can get away with flexible interfaces in a low-level localized setting, but the larger the scale, the simpler the interface should be. 33
34 Summary: Software Design Good software designers are experienced software designers Given a design, and experienced designer can tell you: What s good, What s Bad, and provide suggestions for improvement Patterns and Frameworks are very helpful to software designers Good software designs are based on good design principles 34
35 Demystifying SOA Service-Oriented architecture is the latest buzz in the information technology and enterprise application domains There is a lot of hype, buzzwording and misconception around SOA We will place a good bit of emphasis in this course examining at SOA to try to understand its pro s and con s from an application architecture and design perspective. 35
36 SOA Its an Architecture, Design and Instantiation Approach Understanding SOA requires one to answer the following questions: What is a service oriented architecture? What is a service? How do I design an application that adheres to a SOA? How do I implement an application designed using SOA principles? 36
37 Traditional versus SOA applications a line and box view Traditional Application SOA Application Application Components Service Messaging Service Service Applications designed in conjunction with an SOA style are easier to design, implement, maintain and extend due to the loose coupling of components that reside in different services The pieces (services) in an SOA are designed with a courser granularity than an design based on traditional components, making the system simpler to deal with The messaging interfaces between the services in an SOA have structure and semantics allowing them to be intelligently routed and provisioned based on application-specified policies 37
38 What is a service? Service (also application service): An application function that (a) within each request, encompasses a complete parcel of work (business or technical), (b) may stand on its own or be part of a larger set of functions that constitute a larger service but its scope is such that each request leaves the system in a long-term steady state, (c) is designed for and provides a network-accessible interface and (d) is designed to receive requests from any source, making no assumptions as to the functional correctness (syntactic or semantic) of an incoming request. 38
39 What is a service? Technically Provided Interface <<Service>> C1 C2 Required Interface C3 Service boundaries are explicit Service invocation based on message passing and not method invocation Services are autonomous Services can be deployed and/or extended independently of the service consumers (i.e., applications) Services can be developed in any language since the binding is in the form of an encoded message in a standard format 39
40 What is a service? Technically Provided Interface <<Service>> C1 C2 Required Interface C3 Services share schema and contract, not class Services advertise a contract that describes the structure (schema) of messages it can send and/or receive as well as some degree of ordering constraints over those messages. Interfaces are defined in terms of a schema and not binary classes Example: WSDL in Web Services 40
41 What is a service? Technically Provided Interface <<Service>> C1 C2 Required Interface C3 Service compatibility is determined based on policy Due to the tightly coupled nature of OO and Component designs, they assume that structural compatibility implies semantic compatibility Structural compatibility in SOA is based on contract and schema and can be validated (if not enforced) by machine-based techniques (such as packet-sniffing, validating firewalls). Semantic compatibility is based on explicit statements of capabilities and requirements in the form of policy. Policy expressions indicate which conditions and guarantees (called assertions) must hold true to enable the normal operation of the service. 41
42 Why SOA Another Layer of Abstraction OO abstractions were introduced to deal with the complexity of managing functions independent of data CBD abstractions were introduced to deal with the complexity of distribution, packaging, and deployment SOA abstractions were introduced to create the notion of a network-aware, single instance component that can participate in a both synchronous and asynchronous business process 42
43 Activates to consider when designing an SOA [ref: SOA separates the concerns of the service consumer and the service provider. 43
44 Logical Layering for SOA [ref: (e.g., ESB) 44
45 Services are another layer of Abstraction Services are special types of components, having a published interface that consists of a subset of one or more public component interfaces that collectively defines the service boundary Components are built from a collection of objects where the emphasis is on creating a deployable package that enables the component to execute in a managed application server container such as.net or J2EE/WebSphere Objects are compiled code, developed in a specific programming language, that represent the most granular element of the system s implementation 45
46 SOA Design Principles Course-Grained Interface-based Design Discoverable Single Instance Loosely Coupled Asynchronous 46
47 Patterns for SOA SOA-design is often done using the following integration and orchestration architecture patterns: Value-Object Proxy Facade Business Delegate (perhaps with factory) Adapter Layer We will talk about these in a later lecture 47
An Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationSOA = Same Old Architecture?
SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html Copyright 2004, Richard
More informationIn this Lecture you will Learn: System Design. System Architecture. System Architecture
In this Lecture you will Learn: System Design Chapter 13 The major concerns of system design The main aspects of system architecture, in particular what is meant by subdividing a system into layers and
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 informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
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 informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2002 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq02/syllabus.html Copyright 2002, Richard
More informationGoal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture
Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationService-Oriented Architecture
Service-Oriented Architecture The Service Oriented Society Imagine if we had to do everything we need to get done by ourselves? From Craftsmen to Service Providers Our society has become what it is today
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationSOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
More informationWhat is Software Architecture
What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationWeb Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2015.02.19 Outline Introduction to SOA SOA Concepts: Services Loose Coupling Infrastructure SOA Layers
More informationDOMAIN ENGINEERING OF COMPONENTS
4-02-55 INFORMATION MANAGEMENT: STRATEGY, SYSTEMS, AND TECHNOLOGIES DOMAIN ENGINEERING OF COMPONENTS Carma McClure INSIDE Definition of Components; Component-Based Development; Reuse Processes; Domain
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns
More informationLesson 5 Web Service Interface Definition (Part II)
Lesson 5 Web Service Interface Definition (Part II) Service Oriented Architectures Security Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Controlling the style (1) The
More information5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered
Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process
More informationAvancier Methods. Very basic design patterns. It is illegal to copy, share or show this document
Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright
More informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
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 An Introduction to
More informationRequirements and Design Overview
Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions
More informationDHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI
DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering IT6801 - SERVICE ORIENTED ARCHITECTURE Anna University 2 & 16 Mark Questions & Answers Year / Semester: IV /
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 informationLesson 19 Software engineering aspects
Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationImplementing a Ground Service- Oriented Architecture (SOA) March 28, 2006
Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1 Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationService-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) SOA is a software architecture in which reusable services are deployed into application servers and then consumed by clients in different applications or business processes.
More informationIntegration With the Business Modeler
Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design
More 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 informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
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 An Introduction to
More informationAccelerate Your Enterprise Private Cloud Initiative
Cisco Cloud Comprehensive, enterprise cloud enablement services help you realize a secure, agile, and highly automated infrastructure-as-a-service (IaaS) environment for cost-effective, rapid IT service
More informationEngr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving
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 informationRecap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development.
L5-1 Recap : UML artefacts Actors Use Cases Use Case Diagrams Storyboards Black Box Requirements System Validation Test Cases System Test Functional Specification System Development Notes Details Signatures
More information1.264 Lecture 16. Legacy Middleware
1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationTopics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.
CS310 - REVIEW Topics Process Agile Requirements Basic Design Modular Design Design Patterns Testing Quality Refactoring UI Design How these things relate Process describe benefits of using a software
More informationSoftware Design. Introduction. Software Design (Introduction) SERG
Software Design Introduction Software Design How to implement the what. Requirements Document (RD) is starting point. Software design is a highly-creative activity. Good designers are worth their weight
More informationBSIF. A Freeware Framework for. Integrated Business Solutions Modeling. Using. Sparx Systems. Enterprise Architect
33 Chester Rd Tawa 5028 Wellington New Zealand P: (+64) 4 232-2092 m: (+64) 21 322 091 e: info@parkconsulting.co.nz BSIF A Freeware Framework for Integrated Business Solutions Modeling Using Sparx Systems
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
More informationA Reference Architecture for Service Oriented Architecture (SOA)
A Reference Architecture for Oriented Architecture (SOA) 1 Motivation Why do we need SOA Redundancy Implementation inconsistency Lack of inter-operability Wrapper -Happy Lack of Modularity Misconception:
More informationUP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.
UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of
More informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More informationBUILDING MICROSERVICES ON AZURE. ~ Vaibhav
BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring
More informationSystems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning
Objectives Computer Science 202 Database Systems: Database Design To learn what an information system is. To learn what a Database Life Cycle (DBLC) is. To learn what a Systems Development Life Cycle (SDLC)
More informationSentinet for BizTalk Server SENTINET
Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and API Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication
More informationGlobal Reference Architecture: Overview of National Standards. Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants
Global Reference Architecture: Overview of National Standards Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants Goals for this Presentation Define the Global Reference Architecture
More informationWeb Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1 Outline Introduction to SOA SOA Concepts:
More informationThe Design Patterns Matrix From Analysis to Implementation
The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80
More informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
More informationUnit-3 Software Design (Lecture Notes)
Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationDesign Patterns V Structural Design Patterns, 2
Structural Design Patterns, 2 COMP2110/2510 Software Design Software Design for SE September 17, 2008 Department of Computer Science The Australian National University 19.1 1 2 Formal 3 Formal 4 Formal
More informationDesign Concepts and Principles
Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data
More informationEnterprise Architect Training Courses
On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationSoftware Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationwebmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse
December 2008 webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse By Chris Pottinger, Sr. Manager Product Development, and Juergen Lind, Sr. Product
More informationGoals of the BPEL4WS Specification
Goals of the BPEL4WS Specification Frank Leymann, Dieter Roller, and Satish Thatte This note aims to set forward the goals and principals that formed the basis for the work of the original authors of the
More informationFinal Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format
Final Exam Final Exam Review CS 4354 Fall 2012 Jill Seaman Friday, December 14, 11AM Closed book, closed notes, clean desk Content: Textbook: Chapters 1, 2, 4-10 Java Lectures, GRASP + JUnit 35% of your
More informationUNIT II Requirements Analysis and Specification & Software Design
UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they
More informationIncremental development A.Y. 2018/2019
Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with
More informationSoftware Architecture. Lecture 5
Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More information1 Executive Overview The Benefits and Objectives of BPDM
1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will
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 informationENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL
INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process
More informationHuman Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationArchitectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)
Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world
More informationThe Strategy Pattern Design Principle: Design Principle: Design Principle:
Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design
More informationBasic Properties of Styles
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 18 Enterprise Styles/Patterns (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Basic
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationDESIGN PATTERN - 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 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 informationLECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge
LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high
More informationIn this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks
In this Lecture you will Learn: Design Patterns Chapter 15 What types of patterns have been identified in software development How to apply design patterns during software development The benefits and
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationApplication Oriented Networks: An SOA Perspective
Oriented s: An SOA Perspective www.thbs.com Introduction Service Oriented Architecture is the hot topic of discussion in IT circles today. So much so, in fact, that SOA is being seen by many as the future
More informationHuman Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process
Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software
More informationChapter 13: Architecture Patterns
Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns
More informationOracle SOA Suite 10g: Services Orchestration
Oracle University Contact Us: 01 800 214 0697 Oracle SOA Suite 10g: Services Orchestration Duration: 5 Days What you will learn This course deals with the basic concepts of Service Orchestration (SOA)
More informationDeveloping in a Service-oriented World
Gregor Hohpe Google Developing in a Service-oriented World www.eaipatterns.com Who's Gregor? Distributed systems, enterprise integration, service-oriented architectures MQ, MSMQ, JMS, TIBCO, Web Services
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More information