Object Oriented Analysis and Design Logical Architecture

Size: px
Start display at page:

Download "Object Oriented Analysis and Design Logical Architecture"

Transcription

1 Object Oriented Analysis and Design Logical Architecture Matthew Dailey Computer Science and Information Management Asian Institute of Technology Matthew Dailey (CSIM-AIT) Architecture 1 / 24

2 Readings Readings for these lecture notes: - Larman (2005), Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edition, Chapter 13. Some material c Larman (2005). Matthew Dailey (CSIM-AIT) Architecture 2 / 24

3 Outline 1 Introduction 2 Layering Pattern 3 Wrap-Up Matthew Dailey (CSIM-AIT) Architecture 3 / 24

4 Introduction Start with the big picture Design is another major discipline of the UP elaboration phase. To get started on design, we need the big picture or high-level organization for the software. Here we consider the logical architecture that describes the high-level organization of the system. Later we drill down to design the application logic (aka domain logic) layer. Matthew Dailey (CSIM-AIT) Architecture 4 / 24

5 Introduction Getting started The logical architecture organizes the major subsystems without committing to a particular deployment. The Software Architecture document is created during elaboration and will be baselined by the end of elaboration. Logical architecture design begins with a consideration of an constraints and non-functional requirements in the supplementary specification. Matthew Dailey (CSIM-AIT) Architecture 5 / 24

6 Introduction Logical architecture relationships Sample UP Artifact Relationships Business Modeling Domain Model * * Requirements Use-Case Model Vision Supplementary Specification Glossary The logical architecture is influenced by the constraints and non-functional requirements captured in the Supp. Spec. Design Model package diagrams UI of the logical architecture (a static view) Domain Tech Services : Register : ProductCatalog Design interaction diagrams (a dynamic view) enteritem (itemid, quantity) spec = getproductspec( itemid ) Register ProductCatalog class diagrams (a static view)... makenewsale() enteritem(...) getproductspec(...)... Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 6 / 24

7 Outline 1 Introduction 2 Layering Pattern 3 Wrap-Up Matthew Dailey (CSIM-AIT) Architecture 7 / 24

8 Characteristics Most applications (especially enterprise applications) use the layering pattern: Subsystems are organized into coarse-grained groups Responsibilities within each layer are strongly related to each other Each layer may depends on the layers (relaxed layering) or layer (strict layering) below it. There are no upward dependencies. Matthew Dailey (CSIM-AIT) Architecture 8 / 24

9 Example UI Swing not the Java Swing libraries, but our GUI classes based on Swing Web Domain Sales Payments Taxes Technical Services Persistence Logging RulesEngine Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 9 / 24

10 Typical layers Typical layers: UI (thick client, Web, remote) Application logic and domain objects Technical services (persistence, logging, etc.) Matthew Dailey (CSIM-AIT) Architecture 10 / 24

11 UML packages for layers In UML, layers are represented by packages. Unlike Java packages or C++ namespaces, UML packages can contain anything. UI Domain Swing Web Sales UI UI::Swing UI::Web Domain::Sales Swing Web Domain Sales Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 11 / 24

12 Why layers? Why layers? Coupling is reduced Application logic is well separated from user interface. General purpose business logic can be separated from application specific logic. Development activities can proceed with clear responsibilities Matthew Dailey (CSIM-AIT) Architecture 12 / 24

13 Typical informations system layers Typical layers in an information system: GUI windows reports speech interface HTML, XML, XSLT, JSP, Javascript,... UI (AKA Presentation, View) handles presentation layer requests workflow session state window/page transitions consolidation/transformation of disparate data for presentation handles application layer requests implementation of domain rules domain services (POS, Inventory) - services may be used by just one application, but there is also the possibility of multi-application services Application (AKA Workflow, Process, Mediation, App Controller) Domain (AKA Business, Application Logic, Model) dependency more app specific very general low-level business services used in many business domains CurrencyConverter Business Infrastructure (AKA Low-level Business Services) (relatively) high-level technical services and frameworks Persistence, Security Technical Services (AKA Technical Infrastructure, High-level Technical Services) low-level technical services, utilities, and frameworks data structures, threads, math, file, DB, and network I/O Foundation (AKA Core Services, Base Services, Low-level Technical Services/Infrastructure) width implies range of applicability Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 13 / 24

14 Layers and package naming conventions Packages should be named consistently with nesting by layer to allow reverse engineering of the layer structure, e.g.: // --- UI Layer com.mycompany.nextgen.ui.swing com.mycompany.nextgen.ui.web // --- DOMAIN layer com.mycompany.nextgen.domain.sales com.mycompany.nextgen.domain.payments // --- TECHNICAL SERVICES Layer // home-grown services com.mycompany.services.persistence // third-party services org.apache.log4j org.apache.soap.rpc // --- FOUNDATION Layer // foundation packages that our team creates com.mycompany.util Matthew Dailey (CSIM-AIT) Architecture 14 / 24

15 The domain layer Our focus for this course is the application logic layer aka the domain layer. The key to object-oriented design We begin design using the domain objects in the analysis model. This leads to a lower representational gap between the real world and the software design. Matthew Dailey (CSIM-AIT) Architecture 15 / 24

16 Domain model and domain layer The domain model and the domain layer are related. Example: UP Domain Model Stakeholder's view of the noteworthy concepts in the domain. A Payment in the Domain Model is a concept, but a Payment in the Design Model is a software class. They are not the same thing, but the former inspired the naming and definition of the latter. This reduces the representational gap. This is one of the big ideas in object technology. Payment amount Payment amount: Money getbalance(): Money 1 Pays-for 1 inspires objects and names in 1 1 Pays-for date time Sale Sale date: Date starttime: Time gettotal(): Money... Domain layer of the architecture in the UP Design Model The object-oriented developer has taken inspiration from the real world domain in creating software classes. Therefore, the representational gap between how stakeholders conceive the domain, and its representation in software, has been lowered. Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 16 / 24

17 Layers and partitions Within each layer we have horizontal partitions. Domain POS Inventory Tax Vertical Layers Technical Services Persistence Security Logging Horizontal Partitions Larman (2005), Fig Avoid the word tier in a logical architecture as it usually refers to deployment. Matthew Dailey (CSIM-AIT) Architecture 17 / 24

18 Use the right view Avoid allowing deployment views to creep into your logical architecture views: Worse mixes logical and deployment views Domain(s) Technical Services POS Better a logical view Domain(s) Technical Services Inventory a logical representation of the need for data or services related to these subdomains, abstracting implementation decisions such as a database. Foundation Persistence Naming and Directory Services Web AppFramework MySQL Inventory «component» Novell LDAP Foundation UML notation: A UML component, or replaceable, modular part of the physical system UML notation: A physical database in the UML. Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 18 / 24

19 MVC and layers The Model-View Controller pattern separates model objects in the domain layer from view objects in the UI layer. View objects use the Observer pattern to register for notification of model object events (e.g. state changes). The Observer pattern allows the model to inform the view of changes and other events without coupling. (See next slide for the pattern...) Matthew Dailey (CSIM-AIT) Architecture 19 / 24

20 Observer pattern Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 20 / 24

21 UI layer Domain layer interface UI layer Domain layer interface The messages sent from the UI to the domain layer should be exactly the system-level events discovered during SSD analysis. Matthew Dailey (CSIM-AIT) Architecture 21 / 24

22 UI-Domain layer interface design from SSD analysis Example interface derived from SSD analysis: UI :System : Cashier makenewsale() enteritem(id, quantity) description, total Domain Swing... ProcessSale Frame makenewsale() enteritem() endsale() makenewsale() enteritem() endsale() : Cashier endsale()... Register makenewsale() enteritem()... the system operations handled by the system in an SSD represent the operation calls on the Application or Domain layer from the UI layer Larman (2005), Fig Matthew Dailey (CSIM-AIT) Architecture 22 / 24

23 Outline 1 Introduction 2 Layering Pattern 3 Wrap-Up Matthew Dailey (CSIM-AIT) Architecture 23 / 24

24 Wrap-Up Package diagrams BOUML makes it easy to create package diagrams. Create the package hierarchy in the explorer view, then drag the packages you want to display to the diagram panel. For the pineapple farm information system project, we might begin with a standard layering and plan to refine later. Matthew Dailey (CSIM-AIT) Architecture 24 / 24

High-level Design. What is software architecture?

High-level Design. What is software architecture? High-level Design Software Architecture What is it? Examples of common architectures Parnas KWIK index example of information hiding Model view controller in high level layered design 1 What is software

More information

Software Development Process

Software Development Process Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise

More information

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Cases Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Case What it is: Text story Widely used to discover and record (mostly functional) requirements What is it about: Some actor(s) using

More information

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch RUP Design RUP Artifacts and Deliverables RUP Purpose of Analysis & Design To transform the requirements into a design of the system to-be. To evolve a robust architecture for the system. To adapt the

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Case Study: Inception Phase. L. ch. 3-5

Case Study: Inception Phase. L. ch. 3-5 Case Study: Inception Phase L. ch. 3-5 An Example System Let s consider a familiar example: a POS system A learning strategy: Learn ideas and concepts on the POS system UML itself is among those ideas/concepts

More information

Payment. amount. Payment. amount: Money. getbalance(): Money

Payment. amount. Payment. amount: Money. getbalance(): Money Dpto. de Computación y T.I. Taller de Ingeniería de Software Clase 5 Agenda 1.Exposición por equipos: Diagrama de Clases de Análisis 2. Diagrama de Clases 3.Traducción clases a Esquema Relacional 3. 4.Asignación

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Client-server 3-tier N-tier

Client-server 3-tier N-tier Web Application Design Notes Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web N-Tier Architecture network middleware middleware Client Web Server Application

More information

Object-oriented design methodologies

Object-oriented design methodologies Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard

More information

Web Application Architectures

Web Application Architectures Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering

More information

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh Amit Sheth & Ajith Ranabahu, 2010 Presented by Mohammad Hossein Danesh 1 Agenda Introduction to Cloud Computing Research Motivation Semantic Modeling Can Help Use of DSLs Solution Conclusion 2 3 Motivation

More information

Stock Trader System. Architecture Description

Stock Trader System. Architecture Description Stock Trader System Architecture Description Michael Stevens mike@mestevens.com http://www.mestevens.com Table of Contents 1. Purpose of Document 2 2. System Synopsis 2 3. Current Situation and Environment

More information

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break!

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break! Announcements HW due today, 2 to grade this week Welcome back from Spring Break! Analysis (Domain) Modeling: Introduction Reading: Arlow and Neustadt chaps. 8, 9 (& 7) Also see Larman Chapter 10 (2 nd

More information

An Approach to Software Architecture Description Using UML

An Approach to Software Architecture Description Using UML An Approach to Software Architecture Description Using UML Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N,

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 20-21 The Unified Process Dynamic dimension Two dimensions Content

More information

Pro<DOC/> e-commerce Technology An Introduction

Pro<DOC/> e-commerce Technology An Introduction Pro e-commerce Technology An Introduction From Rightangle Technologies Private Limited (www.rigthangle.co.in) 1 P a g e R i g h t a n g l e T e c h n o l o g i e s P v t. L t d. 1 Problem Statement

More information

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3> Eclectic Computing Time Tracking Tool Version Revision History Date Version Description Author 7/Mar/05 1.0 Documentation of high-level architecture. David Janzen 7/Apr/05 1.1 Architecture at end

More information

Web Applications: Overview and Architecture

Web Applications: Overview and Architecture Web Applications: Overview and Architecture Computer Science and Engineering College of Engineering The Ohio State University Lecture 1 Road Map in Pictures: Web App Road Map in Pictures Browser Request

More information

Introduction to the Analysis and Management Framework

Introduction to the Analysis and Management Framework Introduction to the Analysis and Management Framework Project Team: Don Kranz, Tom Gullion, Neal Saito, Gary Marchiny Project Monitor: Steve Husty 1 Agenda Problem Space The NASA IV&V AMF N Tier Architectures

More information

Time Monitoring Tool Software Development Plan. Version <1.1>

Time Monitoring Tool Software Development Plan. Version <1.1> Time Monitoring Tool Software Development Plan Version Revision History Date Version Description Author 10/01/01 1.0 First Draft Sabrina Laflamme 12/01/01 1.1 Completion of Document John Lemon Page

More information

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340 XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

Software Requirement Specification

Software Requirement Specification Software Requirement Specification Software Engineering 1 Requirements Analysis 1 As Marketing requested it. Software Engineering 2 Requirements Analysis 2 As Sales ordered it. Software Engineering 3 Requirements

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Analysis and Design of Software Systems Practical Session 01. System Layering

Analysis and Design of Software Systems Practical Session 01. System Layering Analysis and Design of Software Systems Practical Session 01 System Layering Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in

More information

Customer Bank Account Management System Technical Specification Document

Customer Bank Account Management System Technical Specification Document Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6

More information

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability

More information

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: OPM and Catalysis 1 Object Process Methodology (OPM) Introduced by Dori in 1995 Primarily intended

More information

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology. 4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Model-driven Software Development (MDSE) for the Cloud

Model-driven Software Development (MDSE) for the Cloud Module 1-5(a) Model-driven Software Development (MDSE) for the Cloud Business Modelling Scoping How to scope your software development 1 Outline Roadmap Recommended workflow Tasks and corresponding Work

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

6 USE CASES. Introduction. Chapter 6. Objectives. The indispensable first step to getting the things you want out of life: decide what you want.

6 USE CASES. Introduction. Chapter 6. Objectives. The indispensable first step to getting the things you want out of life: decide what you want. UML and Patterns.book Page 61 Thursday, September 16, 2004 9:48 PM Chapter 6 6 USE CASES The indispensable first step to getting the things you want out of life: decide what you want. Ben Stein Objectives

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

1. Introduction 1.1 Methodology

1. Introduction 1.1 Methodology Table of Contents 1. Introduction 1.1 Methodology 3 1.2 Purpose 4 1.3 Scope 4 1.4 Definitions, Acronyms and Abbreviations 5 1.5 Tools Used 6 1.6 References 7 1.7 Technologies to be used 7 1.8 Overview

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Service Oriented Analysis and Design (SOAD) in Practice Part 4 Adomas Svirskas Vilnius University October 2005 Agenda Service identification and definition Business process

More information

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad Principles of Software Construction: Objects, Design, and Concurrency Domain Modeling and Specifying System Behavior toad Fall 2014 Jonathan Aldrich Charlie Garrod School of Computer Science Administrivia:

More information

Developers Integration Lab (DIL) System Architecture, Version 1.0

Developers Integration Lab (DIL) System Architecture, Version 1.0 Developers Integration Lab (DIL) System Architecture, Version 1.0 11/13/2012 Document Change History Version Date Items Changed Since Previous Version Changed By 0.1 10/01/2011 Outline Laura Edens 0.2

More information

The Oracle Fusion Development Platform

The Oracle Fusion Development Platform The Oracle Fusion Development Platform Juan Camilo Ruiz Senior Product Manager Development Tools 1 The preceding is intended to outline our general product direction. It is intended for information purposes

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5

CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5 CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5 SOFTWARE ARCHITECTURE DOCUMENT Dr. O. Ormandjieva Winter 2012

More information

The Rap on RUP : An Introduction to the Rational Unified Process

The Rap on RUP : An Introduction to the Rational Unified Process The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: jeff@jeffreyjacobs.com http://www.jeffreyjacobs.com Survey Does your

More information

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group

More information

CASSANDRA: Version: 1.1.0 / 1. November 2001

CASSANDRA: Version: 1.1.0 / 1. November 2001 CASSANDRA: An Automated Software Engineering Coach Markus Schacher KnowGravity Inc. Badenerstrasse 808 8048 Zürich Switzerland Phone: ++41-(0)1/434'20'00 Fax: ++41-(0)1/434'20'09 Email: markus.schacher@knowgravity.com

More information

A Comparison of Open Source Application Development Frameworks for the Enterprise

A Comparison of Open Source Application Development Frameworks for the Enterprise A Comparison of Open Source Application Development Frameworks for the Enterprise Webinar on March 12, 2008 Presented by Kim Weins, Sr. VP of Marketing at OpenLogic and Kelby Zorgdrager, President of DevelopIntelligence

More information

Software Architecture Document

Software Architecture Document COMPREHENSIVE WATERSHED MANAGEMENT WATER USE TRACKING PROJECT Southwest Florida Water Management District 2379 Broad Street Brooksville, FL 34604-6899 Date Revision Description Author Table of Contents

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011 Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

Software Architecture

Software Architecture Software Architecture Definitions http://www.sei.cmu.edu/architecture/published_definiti ons.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

A Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu

More information

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated

More information

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010 Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

9 Research Questions Resolved

9 Research Questions Resolved 217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced

More information

How To Develop A Multi Agent System (Mma)

How To Develop A Multi Agent System (Mma) S-Tropos: An Iterative SPEM-Centric Software Project Management Process Yves Wautelet, Manuel Kolp, Youssef Achbany IAG Institut d Administration et de Gestion, ISYS Unité de Systèmes d Information, Université

More information

Implementation Workflow

Implementation Workflow Implementation Workflow Michael Fourman Introduction Implement the design in terms of components source code, scripts, binaries, executables, etc. Flesh out the architecture Plan system integrations in

More information

ORACLE ADF MOBILE DATA SHEET

ORACLE ADF MOBILE DATA SHEET ORACLE ADF MOBILE DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Java technology enables cross-platform business logic Mobile optimized

More information

Mind The Gap! Setting Up A Code Structure Building Bridges

Mind The Gap! Setting Up A Code Structure Building Bridges Mind The Gap! Setting Up A Code Structure Building Bridges Representation Of Architectural Concepts In Code Structures Why do we need architecture? Complex business problems too many details to keep overview

More information

A complete software development process of a general report publication service implemented using Web Services

A complete software development process of a general report publication service implemented using Web Services A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

Course Name: Course in JSP Course Code: P5

Course Name: Course in JSP Course Code: P5 Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: ITKP@3i-infotech.com Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

VAIL-Plant Asset Integrity Management System. Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15

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 Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

Domain Modeling. Domain Modeling

Domain Modeling. Domain Modeling Domain Modeling A representation of the conceptual classes in problem domain UML (conceptual) class diagrams What s a conceptual class? What are its attributes? What are description classes? What are inter-class

More information

TimePictra Release 10.0

TimePictra Release 10.0 DATA SHEET Release 100 Next Generation Synchronization System Key Features Web-based multi-tier software architecture Comprehensive FCAPS management functions Software options for advanced FCAPS features

More information

Enterprise Architecture: Practical Guide to Logical Architecture

Enterprise Architecture: Practical Guide to Logical Architecture Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

Software Project Management and UML

Software Project Management and UML Software Project Management and UML Ali Bigdelou Computer Aided Medical Procedures (CAMP), Technische Universität München, Germany Outline Intro to Software Project Management Project Requirements Specification

More information

Group 24. (Testability) Amin Ben Karroum Magnus Raaum Sibte-Haider Syed Mari Asplem Hansen. Architecture Document. Android Sosial application

Group 24. (Testability) Amin Ben Karroum Magnus Raaum Sibte-Haider Syed Mari Asplem Hansen. Architecture Document. Android Sosial application Group 24 (Testability) Amin Ben Karroum Magnus Raaum Sibte-Haider Syed Mari Asplem Hansen Architecture Document Android Sosial application Konnichiwa TABLE OF CONTENTS 1. Introduction 3 2. Architectural

More information

Application Frameworks before System Frameworks. An OOPSLA 2000 Practitioner s Report Jon Hancock - jhancock@patternware.com

Application Frameworks before System Frameworks. An OOPSLA 2000 Practitioner s Report Jon Hancock - jhancock@patternware.com Application Frameworks before System Frameworks An OOPSLA 2000 Practitioner s Report Jon Hancock - jhancock@patternware.com App Development Goals Predictable development cycles/timelines Maintainable code

More information

How To Write An Slcm Project Plan

How To Write An Slcm Project Plan SLCM 2003.1 Artifacts in a Nutshell ( as of 01/21/2005) Project Development Phases Pension Benefit Guaranty Corporation s (PBGC) System Life Cycle Methodology (SLCM) is comprised of five project development

More information

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

SOMA, RUP and RMC: the right combination for Service Oriented Architecture SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March

More information

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy

More information

Guiding Principles for Modeling and Designing Reusable Services

Guiding Principles for Modeling and Designing Reusable Services Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. mdolgicer@isg-inc.com http://www.isg-inc.com Agenda The changing notion

More information

Client Overview. Engagement Situation. Key Requirements for Platform Development :

Client Overview. Engagement Situation. Key Requirements for Platform Development : Client Overview Our client provides leading video platform for enterprise HD video conferencing and has product suite focused on product-based visual communication solutions. Our client leverages its solutions

More information

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Mobile optimized user experience Simplified access to

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

The Learn-Verified Full Stack Web Development Program

The Learn-Verified Full Stack Web Development Program The Learn-Verified Full Stack Web Development Program Overview This online program will prepare you for a career in web development by providing you with the baseline skills and experience necessary to

More information

HTML5. Turn this page to see Quick Guide of CTTC

HTML5. Turn this page to see Quick Guide of CTTC Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies

More information

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

SOA REFERENCE ARCHITECTURE: WEB TIER

SOA REFERENCE ARCHITECTURE: WEB TIER SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible

More information

User Application: Design Guide

User Application: Design Guide www.novell.com/documentation User Application: Design Guide Designer for Identity Manager Roles Based Provisioning Tools 4.0.2 June 15, 2012 Legal Notices Novell, Inc. makes no representations or warranties

More information

!! " "!! # $ % " & ' $ % (! %) * +, $ ( ) ' " -

!!  !! # $ %  & ' $ % (! %) * +, $ ( ) '  - !!" "!! # $% " & '$%(!%)* +,$()' "- Table of Contents Abstract...3 1.0 Introduction...4 2.0 Approach...5 2.1 Iteration I - Inception... 7 2.2 Iteration II Elaboration... 8 2.3 Iteration III - Construction

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

The role of integrated requirements management in software delivery.

The role of integrated requirements management in software delivery. Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Dr. Pat Mirenda. Software Design Specification Document

Dr. Pat Mirenda. Software Design Specification Document CPSC 319 Team 2 Dr. Pat Mirenda Software Design Specification Document Version: 1.2 Date: (03/17/2006) 2Communicate SDS Revisions Version Primary Author(s) Description of Version Date Completed 1.0 Wei

More information

Using Library Dependencies for Clustering

Using Library Dependencies for Clustering Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen quante@informatik.uni-bremen.de Abstract: Software clustering is an established approach

More information

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information