Software Development CMSC 202.

Slides:



Advertisements
Similar presentations
Transition from C to C++ …and a Review of Basic Problem Solving.
Advertisements

Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
System Design and Analysis
Computer Programming 1 Problem Solving and Software Engineering.
Fundamentals of Information Systems, Second Edition
Program Development and Programming Languages
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Maintaining Information Systems Class 27. SDLC Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design.
Data Structures and Programming.  John Edgar2.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Introduction to Systems Analysis and Design Trisha Cummings.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Appendix D McGraw-Hill/Irwin Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
© FPT Software Code Review with VS © FPT Software Agenda What is Code review? Run Code analysis in VS 2012 Configuring Code Analysis rule set.
End HomeWelcome! The Software Development Process.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Programming Languages and the Programming Process.
The Traditional System Development Life Cycle There are a number of important steps in the creation of a system, regardless of which approach you use.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Chapter One An Introduction to Programming and Visual Basic.
PROG Developing Robust Modular Software.. Objectives What do we want? Programmatic Elements in a Business System. Logic Layer. Persistence (Data)
Program Development Cycle
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
The Hashemite University Computer Engineering Department
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
ICS 3UI - Introduction to Computer Science
Maintenance Issues in Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Verification and Validation
Chapter 18 Maintaining Information Systems
The Software Development Cycle
Introduction SOFTWARE ENGINEERING.
Software What Is Software?
Software Engineering (CSE 314)
Software Development Life cycle
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
SDLC The systems development life cycle is the foundation for many systems development methodologies such as RAD and agile Systems development life cycle.
Introduction to Systems Analysis and Design
Chapter One: An Introduction to Programming and Visual Basic
Baisc Of Software Testing
Welcome to Corporate Training -1
Chapter 8 Software Evolution.
Software Requirement and Specification
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
The Web Development Life Cycle
The Software Development Cycle
Presentation transcript:

Software Development CMSC 202

“Good” Software When developing software, we strive for software that is correct (meets requirements) reliable (bug-free) easily maintained (corrections and upgrades) reusable CMSC 202

An OO approach to software looks at the problem in terms of “things” Procedural vs. OO A procedural approach to software looks at the problem in terms of functionality An OO approach to software looks at the problem in terms of “things” CMSC 202

Software Development Life Cycle Five phases: Requirements Analysis Design Implementation Testing Maintenance CMSC 202

Software Development Life Cycle (cont’d) Requirements Analysis Phase Formally specify (document) what the problem is Make sure that you and the “client” agree Develop system test cases CMSC 202

Software Development Life Cycle (cont’d) Design Phase Formally specify (document) how the problem is to be solved Make sure that the design conforms to the requirements (i.e., it will produce what was specified in the analysis phase) CMSC 202

Example – The game of Chess Procedural – what are the rules? OO – what chess pieces are there and how do they move? CMSC 202

OO – envision chess pieces and board and their attributes More Chess Procedural – envision a 2-D matrix for the board and functions that move a piece from one square to the next OO – envision chess pieces and board and their attributes CMSC 202

Software Development Life Cycle (cont’d) Implementation Phase Convert the design to code Procedural -- functions OO -- objects Compile and remove all syntax errors CMSC 202

Software Development Life Cycle (cont’d) Testing Phase Unit Testing: Test each unit (e.g., function, object) for logic errors and make corrections Procedural – function test driver OO – object test driver System Testing: Test the entire program to make sure that it conforms to the requirements CMSC 202

Software Development Life Cycle (cont’d) Maintenance Phase Fix bugs found by the customer Make modifications ($$!) Add new features ($$!) CMSC 202

So How Does the S/W Life Cycle Apply to My Projects? Follow the first four phases, but anticipate the last (Maintenance) Complete the Analysis Complete the Design Do a combination of Implementation and Testing CMSC 202