Note Excerpts from Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Ch 3: Unified Process CSCI 4320: Software Engineering.
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Systems Analysis and Design 9th Edition
Introduction to Software Engineering Lecture 3 André van der Hoek.
Project Management.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
System Analysis and Design (SAD )
Slide 1.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Planning. SDLC Planning Analysis Design Implementation.
Chapter 3 Software Processes.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
Effective Methods for Software and Systems Integration
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Copyright 2002 Prentice-Hall, Inc. Managing the Information Systems Project 3.1 Chapter 3.
Computer System Analysis
S/W Project Management
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
Chapter 15 Systems Development
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 Software Process Lecture Outline Nature of software projects Engineering approaches Software process A process step Characteristics of a good.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Installation and Maintenance of Health IT Systems
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
1 Activities covered by project management Feasibility study Is project technically feasible and worthwhile from a business point of view? Planning Only.
Study Problem Solutions CSCI 6231 Mid Term. Chapter 1 1.1:Postdelivery maintenance will cost about 3 times as much as the original develop­ment, that.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Pre-Project Components
Systems Analysis and Design in a Changing World, Fourth Edition
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
The Goal: To Climb Above The Competition Copyright 2005: I Lead Projects, L.L.C. Course Description Project Process Workplates Project Process Workplates.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Software Development Life Cycle (SDLC)
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 2 Managing the Information Systems Project 2.1.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
ITEC 275 Computer Networks – Switching, Routing, and WANs Week 12 Chapter 14 Robert D’Andrea Some slides provide by Priscilla Oppenheimer and used with.
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Advanced Software Engineering Dr. Cheng
Methodologies and Algorithms
IEEE Std 1074: Standard for Software Lifecycle
Software Engineering and Best Practices
Requirements and the Software Lifecycle
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Presentation transcript:

Note Excerpts from Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach

CHAPTERS 1 & 2 THE SCOPE OF OBJECT-ORIENTED SOFTWARE ENGINEERING & THE SOFTWARE PROCESS

Dealing with Unrealistic Requirements When the project requirements are not feasible… ◦ Is there is an off-the-shelf solution that can be used? ◦ Can the time/cost constraints be relaxed? ◦ Can the functionality be reduced? Provide data that shows the client that the project as stated is not feasible. ◦ Hardware invoices. ◦ Software development schedules and costs. Never make promises that you cannot keep!

Protecting the Interest of Your Company (Client’s concerns) The contract should state that the “software shall meet specifications, be delivered on time, within budget”… ◦ Specify acceptance criteria. ◦ Specify deliverables. ◦ Specify that “all faults shall be corrected at no further charge for a period of one year after acceptance of the product”. ◦ Specify that “documentation shall be full and complete and shall include source code, specifications, design and operating instructions”. ◦ Specify the type and duration of training that shall be provided. ◦ Specify the terms of the maintenance contract. ◦ Specify the developer’s liability for damages caused by faults in software.

What can go wrong? Late Delivery ◦ Underestimating the size of the problem. ◦ Failure to obtain complete and accurate requirements. ◦ Poor planning. ◦ Failure to specify the product correctly. ◦ Poor management techniques. ◦ Failure to detect faults early in the life cycle. ◦ Ineffective or badly trained personnel. ◦ Poor quality testing. ◦ Personnel turnover. ◦ Poor documentation of the development process. ◦ Poor communication between members of the development team. ◦ Continual hard-ware and/or system software failures. Project over budget All of the above, plus Unexpected price increases for hardware, programming tools, and so on. Product does not meet specifications All of the above, plus Poor quality specifications. Poor testing. Poor quality assurance. Operational faults, such as injuries to sailors firing the missiles. Poor testing, and hence residual faults. Poor quality documentation. Inadequate documentation. Badly trained personnel. Poor management.

A few definitions… A workflow is a set of activities. An artifact is a constituent component of a software product. A workflow creates or modifies one or more artifacts. A baseline is a set of artifacts.

Things to consider when choosing a Life Cycle Model. Experience and skills of the development team. Computer literacy of the client. Extent to which the client seems to appreciate his or her real needs.

Mitigating Risks… The users may not be comfortable with the product: ◦ -> Construct a rapid proto­type of the user inter­face ◦ -> Involve the purchasing clerks, factory supervisors, sales clerks, and so on, in the development loop. The product may not be what the client really needs: ◦ -> Construct a rapid prototype. The design may not permit future development as the corporation grows or changes the way it does business: ◦ -> Ensure that the design is as open-ended as is reasonable. There may be cost and or time overruns. ◦ -> Estimate carefully (see Chapter 9). A competitor may produce off-the-shelf software before the product has been delivered: ◦ Really no way to resolve this risk. A critical member of the development team may leave: ◦ -> Keep management of the development organization abreast of major decisions being made, thereby making it easier to integrate a replacement into the team. The development team may not be properly managed ◦ ->Ensure that managers are competent and well-trained.

Iterative-and-Incremental Life-Cycle ◦ Offers multiple opportunities for checking that the software product is correct. ◦ The robustness of the underlying architecture can be determined relatively early in the life cycle. ◦ Risks can be mitigated early. ◦ There is always a working version of the software.