Figure 1.1 The life cycle of software as a water wheel that can rotate from one phase to any of phase.

Slides:



Advertisements
Similar presentations
Chapter 3: Modularization
Advertisements

Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Object Oriented Design An object combines data and operations on that data (object is an instance of class) data: class variables operations: methods Three.
Problem Solving and Program Design. COMP104 Problem Solving / Slide 2 Our First Program // a simple program #include using namespace std; int main() {
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Computers: Tools for an Information Age
Program Flow Charting How to tackle the beginning stage a program design.
© 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.
Chapter 1 Software Engineering. Homework ► Read Section 2.2 (pages 79-98) ► Answer questions: ► 7, 8, 11, 12, & 13 on page 134. ► Answer on paper, hand.
Software Engineering Principles and C++ Classes
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.
Data Abstraction: The Walls
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.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Chapter 3: Completing the Problem- Solving Process and Getting Started with C++ Introduction to Programming with C++ Fourth Edition.
Programming Lifecycle
SE: CHAPTER 7 Writing The Program
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
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.
Data Structures Using C++ 2E1 Inheritance An “is-a” relationship –Example: “every employee is a person” Allows new class creation from existing classes.
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.
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.
Chapter 1 Data Abstraction: The Walls CS Data Structures Mehmet H Gunes Modified from authors’ slides.
Module 12 - part 1Slide 1 of 15 WHO - EDM Basic Principles of GMP Documentation Part 1 Part One, 14.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Chapter 2 Principles of Programming and Software Engineering.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
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.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Unit 10 Code Reuse. Key Concepts Abstraction Header files Implementation files Storage classes Exit function Conditional compilation Command-line arguments.
Integrating Algorithms and Coding into the Mathematics Classroom
Principles of Programming & Software Engineering
ICS 3UI - Introduction to Computer Science
Programming paradigms
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
CSCI-235 Micro-Computer Applications
DATA ABSTRACTION AND PROBLEM SOLVING WITH C++
Data Abstraction: The Walls
Principles of Programming and Software Engineering
About the Presentations
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
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
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
CS 1120: Computer Science II Software Life Cycle
POWERPOINT PRESENTATION
Software Development Approaches
CS 1120: Computer Science II Software Life Cycle
Chapter 2. Problem Solving and Software Engineering
Call and return architectures
Presentation transcript:

Figure 1.1 The life cycle of software as a water wheel that can rotate from one phase to any of phase

Figure 1.2 The details of the sorting algorithm are hidden from other parts of the solution.

Figure 1.3 A digital clock

Three Principles of Object-Oriented Programming Encapsulation: Objects combine data and operations. Inheritance: Classes can inherit properties from other classes. Polymorphism: Objects can determine appropriate operations at execution time.

Figure 1.4 A structure chart showing the hierarchy of modules

Key Issues in Programming Modularity Modifiability Ease of use Fail-safe programming Style Debugging

Essential Features of Program Documentation Statement of purpose Author and date Description of the program’s input and output Description of how to use the program Assumptions such as the type of data expected Statement of exceptions Brief description of the major classes Comments in each class comments in each method Comments in the body of each method