1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.

Slides:



Advertisements
Similar presentations
Object Oriented Design An object combines data and operations on that data (object is an instance of class) data: class variables operations: methods Three.
Advertisements

© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Overview. Why data structures is a key course Main points from syllabus Survey Warmup program And now to get started...
1 SYSTEM and MODULE DESIGN Elements and Definitions.
COS Sept 9, 2005 Key Issues in Programming Stefan Brandle.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Data Abstraction & Problem Solving with C++ Fifth Edition by Frank.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Fall 2007CS 2251 Software Engineering Intro. Fall 2007CS 2252 Topics Software challenge Life-cycle models Design Issues Documentation Abstraction.
Chapter 1 Principles of Programming and Software Engineering.
Software Engineering Principles and C++ Classes
1 Introduction to C++ Programming Concept Basic C++ C++ Extension from C.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Data Structures and Programming.  John Edgar2.
BACS 287 Basics of Object-Oriented Programming 1.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Software.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
An Object-Oriented Approach to Programming Logic and Design
Introduction to Data Structures & Algorithm. Objectives: By the end of the class, students are expected to understand the following: data structure and.
Object-Oriented Modeling and Design
Modular Programming. Modular Programming (1/6) Modular programming  Goes hand-in-hand with stepwise refinement and incremental development  Makes the.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
CSE 303 – Software Design and Architecture LECTURE 4.
Data Structures Using C++1 Chapter 1 -Software Engineering Principles -ADT and Classes.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
Design.ppt1 Top-down designs: 1. Define the Problem IPO 2. Identify tasks, Modularize 3. Use structure chart 4. Pseudocode for Mainline 5. Construct pseudocode.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Data Structures Using C++ 2E
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science)
Chapter 1 Data Abstraction: The Walls CS Data Structures Mehmet H Gunes Modified from authors’ slides.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Programming & Debugging. Key Programming Issues Modularity Modifiability Ease of Use Fail-safe programming Style Debugging.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Week 6: Software Design HNDIT Software Engineering Software Design Learning Outcomes  Understand the activities involved in the Design process.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Chapter 2 Principles of Programming and Software Engineering.
Data Structures Using Java1 Chapter 1 Software Engineering Principles and Java Classes.
Principles of Programming. Achieving an Object-Oriented Design  Abstraction and Information Hiding  Object-Oriented Design  Functional Decomposition.
CSE 2341 Object Oriented Programming with C++ Note Set #4
1 Object-Oriented Programming Using C++ CLASS 17 Honors.
Principles of Programming & Software Engineering
CSE 219 Final exam review.
CSC 222: Computer Programming II
CHAPTER 5 GENERAL OOP CONCEPTS.
C++ Plus Data Structures
DATA ABSTRACTION AND PROBLEM SOLVING WITH C++
Principles of Programming and Software Engineering
OOP What is problem? Solution? OOP
About the Presentations
Figure 1.1 The life cycle of software as a water wheel that can rotate from one phase to any of phase.
Object-Orientated Programming
Figure 1.1 The life cycle of software as a water wheel that can rotate from one phase to any of phase.
OOP vs Structured Programming
Need for the subject.
By Rajanikanth B OOP Concepts By Rajanikanth B
What Is Good Software(Program)?
Chapter 2. Problem Solving and Software Engineering
Software Development Chapter 1.
Presentation transcript:

1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance

2 Modularity Abstraction –Separates the purpose of a module from its implementation Abstract data type –collection of data and a set of operations on the data Information Hiding Top Down Design

3 Object Oriented Design Encapsulation –Objects combine data and operations Inheritance –Classes can inherit properties from other classes Polymorphism –Objects can determine appropriate operations at execution time

4 Design Guidelines Use OOD and TDD together –Develop abstract data types and algorithms together Use OOD for problems that primarily involve data Use TDD to design algorithms for an objects operations Consider TDD for problems that emphasize algorithms over data Focus on what not how Reuse

5 Key Programming Issues Modularity Modifiability Ease of Use –Prompt for input –Echo the input –Label the output Fail-safe programming Style Debugging

6 Style Extensive use of functions Use of private data members No global data Proper use of reference arguments Error handling Readability Documentation