Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Slides:



Advertisements
Similar presentations
Architecture Representation
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Outline About author. The problem that discussed in the article.
SYSC System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
Functional Modeling Chapter 6.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Object Oriented Analysis and Design Using the UML
An Introduction to Rational Rose Real-Time
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 6– Artifacts of the process
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Free Mini Course: Applying SysML with MagicDraw
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Designing a DSL for Information Systems Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Computer Architecture. “The design of a computer system. It sets the standard for all devices that connect to it and all the software that runs on it.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 6 Architectural Design.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
PRJ566 Project Planning & Management Software Architecture.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Basic Concepts and Definitions
4+1 View Model of Software Architecture
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object Oriented Analysis and Design Introduction to Rational Rose.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Software Design and Architecture Muhammad Nasir Software Architecture Documentation
CSCI 578 Software Architectures
CS 389 – Software Engineering
Course Outcomes of Object Oriented Modeling Design (17630,C604)
4+1 View Model of Software Architecture
UML: Unified modeling language
Chapter 2 – Software Processes
Architecture Description Languages
An Introduction to Software Architecture
واسط كاربري هوشمند Intelligent User Interface
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Chapter 5 Architectural Design.
Logical Architecture & UML Package Diagrams
Presentation transcript:

Kellan Hilscher

Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance of Formalized Architecture Architectural decisions have a very long lifespan Very valuable tool in developer and stakeholder understanding of a system at a high level Increased potential for commonality across architectures. Reduces time spent in maintenance and evolution phases

Formal languages that can be used to represent the architecture of software-intensive systems. Evolved from Module Interconnection Languages Allow for very high level views of a system even before design work begins Allow for early analysis and feasibility testing of architectural possibilities How ADLs Work Decompose a system into multiple components, connections, and configurations Standardization through the use of styles Provide different views of a system’s architecture

Definition Diverse representations of a system’s architecture for distinct audiences and uses Ex. Structural, behavioral, physical Viewpoints address concerns identified by particular stakeholders Ex. A process viewpoint might address concurrency, distribution, scalability, and integration

First version released in 1997 Similar to IBM Rational for UML Two components: Acme ADL AcmeStudio Can act as a vehicle for standardizing elements used across multiple ADLs

Architecture (formerly Avionics) Analysis & Design Language Describes DRE architectures with software and hardware components Dissuades “build then test” mentality

Specialized for processor architecture description. Allows users to generate assemblers and simulators for processors from: Architecture Resources: User provides processor resource info from programmer’s manual Instruction Set Architecture: User enters information about each instruction such as format and syntax, behavior, and info for decoding Tailors the modeling environment to your processor

No clear consensus on what is required of architecture modeling (or ADLs) Can be very convoluted Many lack explicit mechanisms for multiple architecture views.

“[A]n ADL for software application focuses on the high-level structure of the overall application rather than the implementation details of any specific source module” Less formalized than ADLs No notion of entity restriction (styles) Largely a documenting language

Idea: One view cannot capture an entire complex architecture Concurrent views: 4: Logical View – Object Model Process View – Concurrency Model Physical View – Mapping and distribution of software to hardware Development View – Development environment view +1: Use Cases/Scenarios

Logical Model -> Class Diagram Process Model -> Activity Diagram Development Model -> Package Diagram Physical Model-> Deployment Diagram

Wraps the notion of component standardization around design languages: Contexts (styles) Properties (style conformant attributes) Operations (define property behavior) Provides additions to graph navigations Less ambiguity OCL tools parse UML diagrams to provide further analysis