CPSC 875 John D. McGregor C22 - Misc. CAD/CAM - NC 1&_cdi=5695&_user=590719&_pii=S0360835204000646&_origin=gateway&_coverDate=07%2F31%2F2004&_sk=99953999.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Architecture Representation
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C2 Architect.
CPSC 875 John D. McGregor Wrap-up. Model-driven development (MDD) Model-driven development refers to a development approach that focuses on models as.
Modeling and simulation of systems Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Gorilla Systems Engineering versus Guerilla Systems Engineering Keith A. Taggart, PhD James Willis Steve Dam, PhD Presented to the INCOSE SE DC Meeting,
Managing Project Risk and Incremental Design Innovation Rebecca Wirfs-Brock ©2011 Rebecca Wirfs-Brock.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
SolidWorks Simulation. Dassault Systemes 3 – D and PLM software PLM - Product Lifecycle Management Building models on Computer Engineering Analysis and.
Unified Modeling (Part I) Overview of UML & Modeling
Content Addressable Networks. CAN Associate with each node and item a unique id in a d-dimensional space Goals –Scales to hundreds of thousands of nodes.
An Introduction to Software Engineering.
Distribution of Marks Internal Sessional Evaluation Assignments – 10 Quizzes – 10 Class Participation Attendence – 5 Mid – Term Test – 25 External Evaluation.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Prof. : Vivian Chen Reporter : Arthur Chung.  What is organization structure ?  Organization structure six key elements.  Common organizational design.
LECTURE ESSENCE AND STRUCTURE OF BUSINESS PLAN. 1.The concept of business – plan 2.Contents (parts) of business plan.
Command School On Task In Touch Online Software for Schools Developed by Schools.
BTS730 Communications Management Chapter 10, Information Technology Management, 5ed.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
CPSC 372 John D. McGregor Module 3 Session 2 Architecture Analysis/Design.
Experiences with the Design and Development Process of DDI Requirements for Future Work Ideas for Improvement Joachim Wackerow.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Decision Trees and Influence Diagrams Dr. Ayham Jaaron.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
Grady Booch Free Radical Everything You Know Is Wrong.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Design Patterns. Patterns “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
GRASP: Designing Objects with Responsibilities
Models in Science SWBAT describe various types of models; discuss limitations of models.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
HVAC- Body Works 1 Energy Analysis and Comfort Solutions Inc. Consumers – understanding how an HVAC system works.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Introduction to Design (and Zen) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These.
WHY DO WE. ?. Recycling Recycling helps extend the life and usefulness of something that has already served its initial purpose by producing something.
Convergence of Energy, Economy and Environment With Political, Religious, and Cultural Realities Mark T. Brown March 12, 2007 Thoughts for transition and.
Salman Marvasti Sharif University of Technology Winter 2015.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Population Ecology ch20. Populations Population is the number of individuals in a certain location at a given time Population is the number of individuals.
Experiments. Scientists use an experiment to search for cause and effect relationships. They design an experiment so that changes to one item cause something.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
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.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
World Geography An Introduction. Different Perspectives  Scientists are concerned with process. The focus is on causes and effects that occur regardless.
Chapter 6 Guidelines for Modelling. 1. The Modelling Process 1. Modelling as a Transformation Process 2. Basic Modelling Activities 3. Types of Modelling.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Getting the Architecture Right Jeffrey D. Taft, PhD Chief Architect for Electric Grid Transformation Pacific Northwest National Laboratory March 17, 2016.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
CSCE 240 – Intro to Software Engineering Lecture 3.
Software Design and Architecture Muhammad Nasir Software Architecture Documentation
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
On the importance of planning…
Software Testing.
CPSC 873 John D. McGregor GQM.
Software Engineering and Best Practices
Object oriented analysis and design
John D. McGregor Module 6 Session 1 More Design
Team Skill 6 - Building The Right System Part 1: Applying Use Cases
Understand the role of business in the global economy.
Software Testing.
Calculate 81 ÷ 3 = 27 3 x 3 x 3 3 x 3 x 3 x 3 ÷ 3 = This could be written as
John D. McGregor C15 – Variation in architecture
Presentation transcript:

CPSC 875 John D. McGregor C22 - Misc

CAD/CAM - NC 1&_cdi=5695&_user=590719&_pii=S &_origin=gateway&_coverDate=07%2F31%2F2004&_sk= &view=c&wchp=dGLbVlz-zSkzS&md5=6da4b33eb3b9a3fc52c4892dae002f59&ie=/sdarticle.pdf

Products and organizations We started the semester using the analogy of building architecture to understand software architecture Many factors shape the architecture of a building including the land upon which it is built, the nature of the enterprise that will inhabit the building, and the budget. The main influences we have examined this semester are the qualities. What else is there?

Enterprise architecture

Mirroring The architecture of a software product will closely resemble the architecture of the organization that built it. So, structure the organization the way you want the product to look For example, using an SOA design? Services should be written by small disconnected groups.

Comparison of ADLs

Alternative representations UML – use a profile which restricts the size of the language 090/Cases-Articles/ADLbased-on- UML2.0%20.pdf

UML options

Architecture recovery

Architecture recovery

The Defenestration of Superfluous Architectural Accoutrements Grady Booch A few of the slides from one of Grady’s talks.

Defenestration The act of throwing a person or an object out of a window The Defenestration of Prague (1618)

Superfluous Exceeding what is sufficient or necessary; marked by wastefulness

Accoutrement An accessory item of clothing or equipment

The Premise Simple architectures have conceptual integrity Architectures that are simple are better than those that are more complex A process of continuous architectural refactoring helps to converge a system to its practical and optimal simplicity

On Measuring Architectural Complexity Mass (calculated in SLOC) Regularity (measured in patterns/view) States Boulder: few states spread across geological time Software-intensive system: combinatorial explosion of states Real world: non-discrete, non-continuous

Attending to Simplicity The fundamentals – Define crisp abstractions – Employ a good separation of concerns – Have a balanced distribution of responsibilities Insofar as a system embraces these fundamentals, it is simple; when and where it strains these fundamentals, it is complex

From Control To Chaos 22

From Complexity to Simplicity Complexity masks the essential elements of a system Insofar as we have to expend energy to brush away the surrounding crud that obscures that essence, we’ve lost something in the message and we’ve hidden the Underlying purpose Uniqueness Elegance Beauty

On Finding Simplicity Simplicity doesn’t just happen – Despite the best intentions – Many forces eat away

On Architectural Failure Sometimes, systems fail because their architects have chosen a fundamentally wrong architecture Most of the time, projects – Die the death of a thousand cuts – Are nibbled to death by ducks

On Architectural Failure A thousand cuts – Collapse happens because of the accumulated weight of well-intentioned and reasonable local decisions that assemble over time at the expense of global optimization and simplicity Nibble to death by ducks – You rarely see the end coming, until some factor pushes your fragile, complex system over the edge into collapse