ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen.

Slides:



Advertisements
Similar presentations
Issue 1 It can be argued that the complexity problem associated with the current IP control plane has arisen because of ever evolving network service requirements.
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
CS487 Software Engineering Omar Aldawud
CS 3050 Software Engineering Methodologies. Methodology u Modeling language  Graphical notation used to express the design uProcess  Guidelines on what.
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.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Project activities and experiences in an Albanian software company Luan Jubica Zagreb 2004.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
Introduction to UML Visual modeling Models and its importance
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
SwE 313 Introduction to Rational Unified Process (RUP)
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Principles of Object Technology Module 1: Principles of Modeling.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Knowledge representation
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object-Oriented Analysis and Design Fall 2009.
Designing Complex Software Systems: Introduction CS 6961 – Lecture 0 Nathan Dykman.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Knowledge Representation of Statistic Domain For CBR Application Supervisor : Dr. Aslina Saad Dr. Mashitoh Hashim PM Dr. Nor Hasbiah Ubaidullah.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Experiences from Representing Software Architecture in a Large Industrial Project Using Model Driven Development Andres Mattsson 1 Björn Lundell 2 Brian.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Quality Consulting Module 7 Solution Development.
Software Design and Architecture Muhammad Nasir Software Architecture Documentation
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
EI Architecture Overview/Current Assessment/Technical Architecture
What is Wrong with Models?
Architecture Arnon Rotem-Gal-Oz Product Line Architect
Introduction
Presentation of Flowchart
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Modeling Language
1.Introduction to Rational Unified Process (RUP)
Introduction to Software Engineering
Object oriented analysis and design
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Logical Architecture & UML Package Diagrams
Presentation transcript:

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen Wu FS Consulting Highlights It’s about Software Development. It’s about Modeling. It’s about Visualization. It’s about making good software.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 2 Software Development Electrical Engineering and Computer Science Machine (von Neumann) and Program (stored) Hardware and Software (Computing) Cloud and Swarm

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 3 Modeling in Software Development Models according to Booch et al. Visualization of a system Specification of the system’s structure and behavior Template to guide us in the system construction Documentation of the decisions about the system My View: Model is the Source Code Model is the best approximation of software solution to the problem at hand. Model is an example with which we communicate about the system.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 4 Visualization Visualization is not new but rather, a common sense and UML is a visual modeling language. Why OOD with UML is popular? UML is a visual tool using boxes and lines. Our creativity is rooted with visual imagery.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 5 Source Code is the model Source Code is the model. However Source code is difficult to read. Expert programmers need years of practices to produce high quality source code. It’s more often then not that the better the source code the harder to understand (I.e., source can be highly efficient and highly condensed) I paraphrase Linus Torvalds in his oral presentation on git: I comment a lot because my code is hard to understand. --Linus Torvalds

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 6 My Rational behind this research paper It is necessary for an array of stakeholders to understand the system design. Different stakeholders have a different level of understanding of the system design. A simple visualization rule is necessary in order to get the design across among stakeholders. Nothing’s new in the rule itself except for the rationale behind the rule.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 7 What’s Wrong with Booch’s definition of Model for SW Dev According to Booch, model is 1. A Visualization of a system 2. A Specification of the system’s structure and behavior 3. A Template to guide the system construction 4. A form of Documentation of the decisions about the system

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 8 My Analysis (1) Question: Do UML or other visual modeling tools generate code? If not, it could be wasteful rather than helpful. After all, model evolves at source code level. Visualization is only helpful in communicating among stakeholders.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 9 My Analysis (2&3) Specification of design should be an artifact of the model. I.e., specification is complete only after the model is complete and is deliverable. Model grows and evolves! Model is rather domain specific artifact to the system. It may be reused as a component in a larger system. However, it would be misleading as a template. It might be harder tweaking it to fit a new domain specific situation.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 10 My Analysis (4) Documentation of a model should be accompanied with the model so that it can be most comprehensive. UML can be complex in describing code if it does not have one to one relation with the code, i.e., generating code automatically. It can be wasteful used by programmers if as a handoff of the system design.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 11 Conclusions It’s a software development methodology. It’s for team work developing large software systems. It’s AGILE. It’s about making good software.

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 12 Q & A