Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.

Slides:



Advertisements
Similar presentations
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Advertisements

Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Requirements and Design
Introduction To System Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Liang,Introduction to Java Programming,revised by Dai-kaiyu 1 Chapter 10 Object-Oriented Modeling.
System Design and Analysis
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Chapter 1 Principles of Programming and Software Engineering.
Software Engineering Principles and C++ Classes
Programming Fundamentals (750113) Ch1. Problem Solving
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Engineering 1 (Chap. 1) Object-Centered Design.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction to Systems Analysis and Design Trisha Cummings.
Introduction To System Analysis and design
Introduction 01_intro.ppt
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
Vladimir Misic: Design111:43:34 AM Software design.
Introduction To System Analysis and Design
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
SE: CHAPTER 7 Writing The Program
Data Structures Using C++1 Chapter 1 -Software Engineering Principles -ADT and Classes.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Data Structures Using C++ 2E
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 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.
Intermediate 2 Computing Unit 2 - Software Development.
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.
Data Structures Using Java1 Chapter 1 Software Engineering Principles and Java Classes.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Principles of Programming & Software Engineering
Information Systems Development
ATM OO Design and Implementation Case Study
Unified Modeling Language
Principles of Programming and Software Engineering
About the Presentations
An Introduction to Visual Basic .NET and Program Design
Unified Modeling Language
Programming Fundamentals (750113) Ch1. Problem Solving
Software Design Lecture : 15.
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Chapter 1.
Presentation transcript:

Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding –Translating the design into the actual system.

Software Life Cycle Testing –Does the system solve the problem? –Have the requirements been satisfied? –Does the system work properly? Maintenance –Bug fixes

Requirements The initial step is to determine what the system must do. –The requirements document is developed to document the customer’s and user’s expectations of the software. Requires data and potentially interaction with the customer and actual users.

Requirements Once the team has an understanding of the requirements the next step is to determine how the system will behave. –The result of this step is the functional specification document. –The document contains: How the system operates The user interface look and feel The system input and outputs Error handling

Design Specification After the team understands how the system will behave, the next step is to determine how to implement the system. –The result of this step is the Design document.

Design Specification –The design document contains: The class organization. The classes and instance variables. The methods with specific return type and parameters Any complex algorithms

Implementation Once the design is “complete” the implementation begins.

Testing The testing phase should begin as soon as there are reasonable implementations to verify. –The first step is to develop test cases. –The second step is to run the test cases. –The third step is to report any problems back to the programmers. –We will talk more about testing in a few days.

From Specification to Design There are multiple approaches to developing the design. The following represent some good steps to take when developing a design. –Determine what your system objects are: Look for noun phrases that represent objects. Look for key components in the requirements and specification documents.

From Specification to Design –Determine what the possible methods are: Look for actions that identify behaviors. Look for verb phrases in the requirements and functional specification. –Identify the possible classes. Define classes that represent objects. Try to group nouns into classes if they represent a more general entity. Remove duplicate and extraneous nouns.

From Specification to Design –Write a statement that describes the purpose of each class that has been identified. What are the behaviors of this class and what will they do. –Define the class structure. Put logically connected state and behaviors into the same class. If a behavior requires an attribute of a class, put the behavior in the same class.

From Specification to Design –Define the communication and relationships between classes. Does a class require information from another class to perform the defined behaviors? Discard classes that do not interact with other classes. They most likely are not needed.

From Specification to Design –Refine the system design Review classes to see if they should be combined. Review collaborations between classes to see if they can be defined in a more streamlined manner. –Prepare a class diagram. Unified Modeling Language (UML)

Design Example Develop a system that will convert US dollars to Japanese Yen, French Francs, or Chinese Yuan. The user enters an amount and a currency for the conversion. The output should list the entered amount in US dollars followed by the converted amount with the currency name. If the user enters a currency that does not exist, a proper error message should be printed.