Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process.

Slides:



Advertisements
Similar presentations
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 8: Recursion Presentation slides for Java Software Solutions for AP* Computer Science 3rd.
Advertisements

Chapter 1: Computer Systems
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Systems Analysis and Design
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 6: Arrays Java Software Solutions for AP* Computer Science
Object-Oriented Analysis and Design
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Chapter 9: Polymorphism Coming up: Binding.
Introduction To System Analysis and Design
Chapter 10: Software Engineering Presentation slides for Java Software Solutions Foundations of Program Design Second Edition by John Lewis and William.
Chapter Day 23. © 2007 Pearson Addison-Wesley. All rights reserved Agenda Day 23 Problem set 4 Due Problem set 5 Posted (Last one)  Due Dec 8 Capstones.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Chapter 4: Writing Classes Presentation slides for Java Software Solutions Foundations of Program Design Third Edition by John Lewis and William Loftus.
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Testing and Quality Assurance: Introduction and Terminology
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Java Software Solutions Lewis and Loftus Chapter 2 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Software Concepts -- Introduction.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 8: Recursion Presentation slides for Java Software Solutions for AP* Computer Science 3rd.
Introduction To System Analysis and design
Principles of Object Technology Module 1: Principles of Modeling.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
UML - Development Process 1 Software Development Process Using UML (2)
Chapter 2 The process Process, Methods, and Tools
Introduction to Object-oriented programming and software development Lecture 1.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Introduction To System Analysis and Design
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Java Software Solutions Lewis and Loftus Chapter 14 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Advanced Flow of Control --
Component & Deployment Diagram © copyright 2001 SNU OOPSLA Lab.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
Chapter 10: Software Engineering
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Software Design Process
CSCI 1100/1202 April 1-3, Program Development The creation of software involves four basic activities: –establishing the requirements –creating.
CSE 303 – Software Design and Architecture
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 8: Recursion Presentation slides for Java Software Solutions for AP* Computer Science 3rd.
Java Software Solutions Lewis and Loftus Chapter 9 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Enhanced Class Design -- Introduction.
Coming up: Inheritance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Java Software Solutions Lewis and Loftus Chapter 8 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Inheritance -- Introduction.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
CSC 222: Object-Oriented Programming
Chapter 4: Writing Classes
Chapter 8: Recursion Java Software Solutions
Chapter 8: Recursion Java Software Solutions
Chapter 8: Recursion Java Software Solutions
Chapter 10: Software Engineering
Presentation transcript:

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process II -- Introduction We now extend the process established in Chapter 11 to include more object-oriented issues Chapter 15 focuses on: –evolutionary development –object-oriented design and implementation –Slide Puzzle problem

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 2 An Iterative Development Process Recall from Chapter 11 our simple process model: Establish requirements Create design Implement code Test system

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 3 An Evolutionary Development Model Divide the process of design into –architectural design - primary classes and interaction –detailed design - specific classes, methods, and algorithms Create a refinement cycle Each refinement focuses on one aspect of the system As each refinement is addressed, the system evolves

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 4 An Evolutionary Development Model Establish requiremens Architectural design Establish refinement scope Unit and integration test Implementation System test Identify classes & objects Identify relationships Detailed design

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 5 Refinement Cycle Establish refinement scope Define the specific nature of the next refinement Such as: –user interface –a particular algorithm –a particular requirement Choosing the most appropriate next refinement is important and requires experience

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 6 Refinement Cycle Identifying classes and objects The ones that relate to the current refinement Can often define by focusing on the roles they play in the system Consider reusing existing classes

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 7 Refinement Cycle Identifying relationships Inheritance (is-a) relationships The uses relationship establishes another kind of bond between classes Class A uses class B in some way Can express cardinality Example: A Car has (uses) four wheels

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 8 Refinement Cycle Detailed design, implementation and test Design of specific methods and their translation into code A unit test focuses on one particular component, such as a method or class An integration test focuses on the interaction between components

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 9 Slide Puzzle As we did in Chapter 11, let’s explore a larger example Slide Puzzle –square board of tiles –user shifts tiles one at a time –goal is a particular configuration We will use simple numbers as the tile faces, though it is often done with pictures The design should take this potential modification into account

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 10 Slide Puzzle Architectural design User interface Board manager Movement control Board actions

Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 11 Slide Puzzle User interface SolveReshuffle