Developing Software Applications Software Life Cycle Specification Design Implementation Testing Maintenance.

Slides:



Advertisements
Similar presentations
Required System DFM Develop Required DFDs from selected BSO
Advertisements

Current DFDs 1 Current Physical DFDs Produced while developing Requirements Catalogue and Current Environment Logical Data Structure Gather information.
Software Engineering-II
Chapter 3: Modules, Hierarchy Charts, and Documentation
Info1409 De Montfort University Lecture 3 The Systems Development Life Cycle Systems Analysis & Design Academic Year 2008/9.
Programming Logic and Design Fourth Edition, Introductory
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Chapter 9 Describing Process Specifications and Structured Decisions
Developing Software Applications Introduction to Programming Fundamentals Scoping in VB Simple Ifs in VB.
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 1 Program Design
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
BPC.1 Basic Programming Concepts
System Implementation
6 Systems Analysis and Design in a Changing World, Fourth Edition.
The Software Development Cycle Defining and understanding the problem.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
1 Shawlands Academy Higher Computing Software Development Unit.
Managing the development and purchase of information systems (Part 1)
Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths.
Simple Program Design Third Edition A Step-by-Step Approach
Data Flow Diagrams.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Advanced Higher Computing SOFTWARE DEVELOPMENT PROCESS.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
I Power Higher Computing Software Development The Software Development Process.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
The Systems Life Cycle AS Computing F451 AS Computing F451.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
The Software Development Process
Systems Development Life Cycle
CISB113 Fundamentals of Information Systems IS Development.
Program Development Cycle
Introduction to C Programming CE Lecture 5 Program Design in C.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
11 Software Design CSCU 411 Software Engineering.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CS223: Software Engineering
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
6 Systems Analysis and Design in a Changing World, Fourth Edition.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
Software Design and Development Development Methodoligies Computing Science.
 Problem Analysis  Coding  Debugging  Testing.
Design f. describe a design specification including input design, diagrammatic depiction of the overall system, processing, data structure design and output.
COM 117 Introduction to Application Building Introduction to the module Learning outcomes Assessment Lecture on DFDs Practical activity Tutorial activity.
ICS 3UI - Introduction to Computer Science
Data Flow Diagrams.
System.
Chapter 6 The Traditional Approach to Requirements.
Rumbaugh’s Objectmodeling Technique
About the Presentations
Lecture 2 Introduction to Programming
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Software Development Life cycle
Unit# 9: Computer Program Development
“Would I have to do this all by myself …….?”
Lecture 09:Software Testing
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 11 Describing Process Specifications and Structured Decisions
CSE 1020:Software Development
Information Systems Development (ISD) Systems Development Life Cycle
Top-Down Design & JSP Skill Area Part D
Presentation transcript:

Developing Software Applications Software Life Cycle Specification Design Implementation Testing Maintenance

Developing Software Applications User identifies need For system Feasibility study Modify design Project abandoned Test Enter test data Write programs Design system System possible System meets Requirements Debug System works Enter real data Run in parallel with Existing system Document, Produce User manuals Review System goes ‘live’ Users satisfied No Yes No

Developing Software Applications Specification Stated clear objectives and requirements of the application Should be – Specific – Agreed objectives – A statement of constraints and resources – Scope Represents agreement between client and developer

Developing Software Applications specification The specification is the result of stages of systems analysis which include: – Feasibility – Fact finding – Analysis Usually results in a conceptual map of the system known as a Data Flow Diagram and an analysis of the data storage known as an Entity Relationship Diagram

Developing Software Applications Design From the requirements programmer/analyst produces a design Consists of three main parts – Input and output design – Data storage requirements – Process design Roughly correspond to – DFD (basic requirements of I/O and processes) – ERD (break of data storage within the system)

Developing Software Applications Design DFD defines – Data going into and out of the system – Location and nature of data – Processes and subprocesses acting on the data – Top-level data stores Can be used to design Inputs/outputs to cater for likely user type Functional requirements can be extracted and converted into program logic Entity analysis enables the programmer to determine the breakdown of data into – Internal data structures – External file structures – Process mapping between internal and external data structures (relationships)

Developing Software Applications 1 receive booking requests local reception 5 administer local unfilled bookings h/o local admi 6 invoiuce and maintain customer records h/o accounts3 record vehicle departure and return depot staff4 find and notify drivers driver admin2 fill booking sheet local booking d1booking requests d3booking sheetd3booking sheetsd2driver instructs Example DFD

Developing Software Applications employee Client Appointmen t Clinic Prescription Treatment Prescription line Attendance Example ERD

Developing Software Applications Design From the input / output requirements we construct – Dialogue design – A map linking processes to the dialogue Use a state transition diagram (STD) First design screens (dialogue) which use functions consistent with user requirments Link them together !! Show linking mechanism

Developing Software Applications Design (State Transition Diagram example) M Menu subject author find book take out reserve return M M M M M

Developing Software Applications Design of Processes functional analysis used to design resulting code Break down design into logical blocks  Stepwise refinement  Functional decomposition

Developing Software Applications Functional Analysis Get up Go to University For as long as there is a lecture to attend Go to lecture Take notes attentively and enthusiastically! Eat tea Go to town For as long as you have money and are thirsty Buy a drink Go home If you have spare money go by taxi Else walk Go Function College Function Food Function Go out Function Go home Function

Developing Software Applications Process Design Notation Top Down design notation – Diagrammatic notation; sequence,selection, iteration – Pseudo Code/ Structured English Object Design – Methods applicable to object defined as elements of object – Uses object modeling to indicate behaviour of objects

Developing Software Applications Top-Down design Take main functions Systematically break into smaller chunks Use a method to ‘represent’ solution Stop when resulting modules are small enough to be easily implemented (but not too cumbersome) ‘Clever’ chunking results in reusable modules

Developing Software Applications Jackson Structured Design Inputs Output

Developing Software Applications Nassi-Schneidermann Enter details While user input If Not Clear Clear R P M DE While valid input If mark entry enter name enter mark Case {mark “refer” mark 40 – 59 “pass” mark 60 – 79 “merit” mark 80 – 100 “Distinction”} else “Error” output name and grade Else Clear Output mark & name

Developing Software Applications Data Design Data dictionary can use JSP / NSD to File structure illustrate ranges etc. NameTypeDescription student exam grade String Integer String Stores Student Name Stores Exam Mark 0-100% Stores Exam Grade Error Pass Merit Distinction

Developing Software Applications Testing Test plan Use to test design Dry running technique Equivalent to msgboxes to show current state of variables Use same plan to test code cf results with design phase Testing has basic strategy

Developing Software Applications Testing Purpose of testing – Designing test cases and test case data with corresponding input and expected output Black and White box testing – Difference between these two categories of test; – when test data can be designed and purpose.

Developing Software Applications White and Black Box Testing Black Box testing (tests design and coding) – Categories Functional tests Invalid Tests Boundary Tests Special tests White Box testing (performed after code written) – Categories Path Analysis Complex Conditions

Developing Software Applications Example test Plan INPUTOPERATIONOUTPUT StudentMark ExpectedActual 1-Bob35Calc GradeBob: Referral 2-Bob45Calc GradeBob: Pass 3-Bob65Calc GradeBob: Merit 4-Bob85Calc GradeBob: Distinction 5-Bob-5Calc GradeError Message 6-Bob105Calc GradeError Message 7-BobabcCalc GradeError Message 8-BobabcClearClear Text Boxes

Developing Software Applications Maintenance Constant refinement Until: – System works – Client satisfied – Terms of specification met Then – Re-evaluation – Changes to specification Start again

Developing Software Applications User identifies need For system Feasibility study Modify design Project abandoned Test Enter test data Write programs Design system System possible System meets Requirements Debug System works Enter real data Run in parallel with Existing system Document, Produce User manuals Review System goes ‘live’ Users satisfied No Yes No