Software Architecture as design John D. McGregor.

Slides:



Advertisements
Similar presentations
Technology readiness levels in a nutshell
Advertisements

Choose the Proper Screen-Based Controls
Who is an Architect? Drawings – shows the appearance Geometry - understanding of form Arithmetic - measurements are computed Optics - lighting both interior.
PROFESSIONAL PORTFOLIO REVIEW IALD PROFESSIONAL PORTFOLIO REVIEW This template has been prepared to assist you with the process of the professional portfolio.
Agile development By Sam Chamberlain. First a bit of history..
+ User Interface Aesthetics COMPSCI 345 / SOFTENG 350 Prepared by Safurah Abdul Jalil & Beryl Plimmer 2011.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Challenges and opportunities for Finnish companies targeting Global Markets Digia Inc. Jari Mielonen CEO October 17th/20th 2003 © 2003 Digia and Digia-based.
IT Governance and Management
20-Jun-15 XP Again. Test-Driven Development Advantages of writing tests first: Clarifies what the methods are supposed to do Methods are testable Methods.
Principles of Graphics Design
© De Montfort University, Principles of Graphics Design Howell Istance School of Computing Technology De Montfort University.
Systems Design. Analysis involves understanding and documenting user requirements in a clear and unambiguous way. It focuses on the business side and.
TSM: Safety Management in a Quality Management Setting
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
APWA CORE COMPETENCIES Where did they come from Leadership & Management Committee Survey Analysis Reporter Articles.
Software Architecture in Practice (3rd Ed) Introduction
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Engineering Design Resolution & Design Principles.
Multidisplinary Approach.. What are your expectations Write on board.
Unit 2: Engineering Design Process Foundations of Technology Lesson 3: Design Principles Design Principles.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
Introduction to Object-oriented programming and software development Lecture 1.
Developing a result-oriented Operational Plan Training
Quantitative Management And Management Today. Argyris’s Theory of Adult Personality. Classical Management practices were flawed because they provided.
This is to certify that ____________________________ survived and excelled in “ That Ain’t Workin’ ” A leadership training retreat held at the University.
High Ceremony Programming (HCP) CSE301 University of Sunderland Harry R. Erwin, PhD.
Ogie Sheehy CEO, ViClarity April 2012 Innovation Excellence in SME’s.
Constructive Challenge Innovation and Originality
TEAMWORK AND TEAM BUILDING KEYS TO GOAL ACHIEVEMENT AND SUSTAINABILITY.
1 Context Sensitive Design CE 453 Highway Design Iowa State University Howard R. Green Company.
HDF 190: FIRST YEAR LEADERS INSPIRED TO EXCELLENCE LEADERSHIP PORTFOLIO Erin Bohan SPRING 2012
Fundamentals of Design. Composition Placement or arrangement of visual elements in a work of art or a photograph.
Some Tools For Team Building an Introduction 2010 Faith and Light International Formation Project Team.
What are these? Elements of Art Elements that are organized to obtain Unity. space.
MASSACHUSETTS ART CURRICULUM FRAMEWORK Sarah Walker and Chelsea Greene.
Some Tools For Team Building Faith and Light International Formation 2010.
© 2008 Pearson Education, Inc., publishing as Longman Publishers. 1 Chapter 22 Instructions and Procedures Technical Communication, 11 th Edition John.
1 Venkat Subramaniam Quality of Software Design Good design is critical to a software application A good design has following characteristics –Specific.
Chapter 4 Design and Problem Solving.
7/1/02CSC309 Miller1 How Good is Good Enough? Collins, Robert, Keith Miller, Bethany J. Spielman, and Phillip Wherry. Communications of the ACM January.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
C PRINCIPLES OF DESIGN Janie Salazar 7 th period.
PRINCIPLES OF DESIGN by Mariana Pego. PROPORTION  Proportion refers to the relative size and scale of parts of a whole (elements within an object).
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
Leadership & Teamwork. QUALITIES OF A GOOD TEAM Shared Vision Roles and Responsibilities well defined Good Communication Trust, Confidentiality, and Respect.
Amity School of Business Amity School of Business Management Foundation Module-II By Neeti Saxena Assistant Professor, ASB 1.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
How to spread your own innovations Taco Brandsen Radboud University Nijmegen, The Netherlands.
THEORY OF INTERIOR DESIGN THE CLASSICAL THEORY. It is understood that we all have a different perception as to what constitutes beautiful architecture.
Systems Engineering (Sistem Mühendisliği) Doç. Dr. A. Egemen YILMAZ Ankara Üniversitesi Elektrik-Elektronik Müh. Bölümü
Quality Consulting Module 7 Solution Development.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
CPSC 875 John D. McGregor Design Concept C5. ALISA
The expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be.
CHARCTERISTICS An organization has a purpose
Instructions and Procedures
Levels of testing.
UNIT-II TQM PRINCIPLES
MANAGING AND THE HUMAN FACTOR
Top 5 UX Rules That Every Designer Should Be Aware Of SpencerKinney | Menomonie Web DevelopmentMenomonie Web Development.
Coaching and Being Coached for Capabilities
Introduction To System Analysis and Design PART 2
John D. McGregor Design Concept C5
Elements and Principles of Visual Art
Principles of HCI Design
Promoting official statistics: Statistical literacy (DRAFT version)
Presentation transcript:

Software Architecture as design John D. McGregor

Beautiful software has: Cooperation Appropriate form System minimality Component singularity Functional locality Readability Simplicity

Or… Integrity – beautiful software solves one problem, and does it better than any other Usability – It guides you through the tasks at hand in a clear way, minimizing risks for misunderstanding or misuse of its features. Innovation – beautiful software is not afraid to solve the problems at hand in new and amazing ways

Practical advice Maintain, trust, and foster your product vision. Stick your chin out and don’t be afraid to innovate. Love your users and invest in their interaction with your software. Maintain your integrity – fight for it and don’t stray away from it.

Software Craftsmanship The goals of software craftsmanship are: Maintainability. Extensibility. Substitution. Don't Repeat Yourself (DRY), and avoid Not Invented Here (NIH) syndrome. You Ain't Gonna Need It (YAGNI) principle. Favor composition over inheritance. Create contracts for your objects. Have objects (and methods!) do one thing, and one thing well.

09_AestheticValues_HandbookPhilTech.pdf 09_AestheticValues_HandbookPhilTech.pdf SE-TR.pdf SE-TR.pdf

Software sustainability Economic Aesthetic Timely Natural

Work with “nature” not against it Rely on “local” conditions and traditions Software architecture tends to be trendy and international The concept of “local” means domain-specific There is no one architecture for everything but international organizations train architect consultants and tend to homogenize product architectures

Moshe Safdie building_uniqueness building_uniqueness

Efficiency Economy Elegance Form follows function But there are many designs that will provide a specific function so it is better to think… Function follows form Designs that look good usually are

Plato Plato said “The qualities of measure and proportion constitute beauty and excellence. Aesthetic excellence is grounded in order, harmony, symmetry, and proportion in the parts.

Plotinus Beauty is not in the relationships of the parts but in the unity of the one. Usually are conscious of the perfection of the whole before there is an appreciation of the individual details

Experiment Criticism Theory Practice

Take a look beautiful-software.html beautiful-software.html candy-crush-saga-is-so-successful-and- popular-but-will-never-be-an-angry-birds-a- cognitive-tear-down-of-the-user-experience/ candy-crush-saga-is-so-successful-and- popular-but-will-never-be-an-angry-birds-a- cognitive-tear-down-of-the-user-experience/

Here’s what you are going to do.. Step back and look at your architecture What elements of beauty does it possess? Identify what you think are the most beautiful parts of your design. Compare this to the earlier assignment where you decided which part of the architecture you thought was the best and which was the worst. Write up your analysis and submit by 4/22 at 6am