27/09/1999(c) Ian Davis1 Background material Software Architecture (Shaw & Garlan) Object modeling & design (Rumbaugh,Blaha..) Design Patterns (Gamma,

Slides:



Advertisements
Similar presentations
Chapter 24 Quality Management.
Advertisements

Trustworthy: to have belief or confidence in the honesty, goodness, skill or safety of a person, organization or thing.
Using Internal Control to Manage Risk Mary C. Braun, CPA, CGFM Management Concepts, Incorporated.
Unit 6 Assignment 2 Chris Boardley.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Principles of Project Management Case Study - Programme Management: Developing a Blueprint Graham Collins University College London (UCL)
Design Concepts and Principles
Outline About author. The problem that discussed in the article.
What is Software Engineering? And why is it so hard?
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
Component-Based Software Development: Nurturing the Inner Designers Hoang Bao CSC 509 – Winter 2005.
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
Software Architecture in Practice
Principles of Software Engineering: Introduction COSI 120b, Spring 2005.
Overview of the MS Program Jan Prins. The Computer Science MS Objective – prepare students for advanced technical careers in computing or a related field.
Chapter 24 - Quality Management
Agile Design.
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Gerardo Schneider Department of Informatics University of Oslo Oslo, March 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
CS 4310: Software Engineering
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
SOFTWARE ENGINEERING MCS-2 LECTURE # 1. COMPULSORY READING MATERIAL  Software Engineering (6 th edition) by IAN Sommerville  Software Engineering; A.
Ch. 101 Epilogue. Ch. 102 Outline What will be the future of the field? What is the impact of SE on society? What ethical issues are raised by SE?
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
CEN st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi What.
SOFTWARE DESIGN AND ARCHITECTURE
Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, IIT Kanpur SATURN 2008.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Design Patterns Introduction What is a Design Pattern? Why were they developed? Why should we use them? How important are they?
Software Project Management. Contents Project Management  Metrics for Process and Projects  Estimation  Project Scheduling  Risk Management  Quality.
Active Learning and Team-Based Learning in the Engineering Classroom Bill Weeks ECE Department NFTS Luncheon.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Software Architecture Assessment RAVI CHUNDURU CS6362 UTD Summer 2005.
Quality Management Managing the quality of the software process and products.
18-1-1Navy Military Training - Core Values (Leadership)
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
There are only 10 different kinds of people in the world: those who know binary and those who don't. - Anonymous.
COMPGZ07 Project Management The Effectiveness of Workshops Graham Collins University College London (UCL)
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Stand Up Comedy Project/Product Management
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CS 160 and CMPE/SE 131 Software Engineering March 22 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Where do you want to go? Realizing Your Potential.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
Why is software engineering worth studying?
Software Architecture in Practice
IS301 – Software Engineering V:
The Effects on Development
Epilog © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
SOFTWARE ARCHITECTURE AND DESIGN
Winter 2016 (c) Ian Davis.
Software Usability and Design
Software Engineering General text Shari Lawrence Pfleeger
4.03 Apply principles of leadership and teamwork
Software Architecture & Design
From Use Cases to Implementation
Presentation transcript:

27/09/1999(c) Ian Davis1 Background material Software Architecture (Shaw & Garlan) Object modeling & design (Rumbaugh,Blaha..) Design Patterns (Gamma, Helm, et al) Software Engineering concepts (Fairley) Software Engineering (Pressman) Software Architecture in Practice (Bass, Clements, Kazman)

27/09/1999(c) Ian Davis2 Further background material The Mythical Man Month (Brooks) ACM Sigsoft Software Engineering Notices Code complete (McConnell) Death march (Yourdon)

27/09/1999(c) Ian Davis3 Goals of software development Need to understand requirements. Want software with maximum functionality. Code must be reliable. Cost to develop and maintain important. Want results as fast as possible. Must minimize development risks.

27/09/1999(c) Ian Davis4 Problem You cannot achieve all six goals simultaneously. Which of these goals are you willing to compromise on. How do you identify which (if any) of these six goals is realistic or realizable.

27/09/1999(c) Ian Davis5 Software engineering to rescue Identify desired functionality Develop architectural design Plan/cost activities Monitor progress Document decision points Identify problems ASAP.

27/09/1999(c) Ian Davis6 Is software development an art? YES –Getting it right the first time demands vision. –There is beauty in a good design. –It is easy to appreciate a good design and dislike a bad one, at a raw gut level. NO –Little argument about what is good or bad

27/09/1999(c) Ian Davis7 Is software development engineering? YES –We are building things. –Need a methodology to succeed. –Need engineering management skills. –Need to appreciate the importance of quality and reliability. –Need professional standards, discipline, and bodies. –Should be held accountable for our actions.

27/09/1999(c) Ian Davis8 Is software development engineering? NO –Not concerned with designing within tolerances –Code is either right or wrong (ie. Maths) –Limited/questionable concern with reuse of code –Not building ‘n’ of the same. Each project is new and unique. –Cookbook for algorithms, but not the project.

27/09/1999(c) Ian Davis9 Acid tests Which of the development goals are more achievable using engineering principals? Can software development be a set of well defined manageable discrete logical steps? When is a picture/design/essay worth 1000 lines of code? When does the theory encourage needless bureaucratic displacement activities?

27/09/1999(c) Ian Davis10 The basic issues Get it right the first time, that’s the main thing. Getting it right at the end doesn’t fly. So how do you avoid getting it wrong? Plan to throw your first attempt away - you will anyway. If you plan to throw your first attempt away you will throw at least two attempts away.