Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.

Slides:



Advertisements
Similar presentations
Presentation by Prabhjot Singh
Advertisements

P5, M1, D1.
Chapter 2: Modularization
Chapter 29: Integration Jacob Harper. The Integration Approach The order of adding components to a system is crucial Benefits to careful integration –
Programming Logic and Design Fourth Edition, Introductory
Documentation 1 Comprehending the present – Investing in the future.
Programming Logic and Design Fourth Edition, Introductory
Integration testing Satish Mishra
Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 6 Software Design Section 10.3 (except )
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Structured Programming structured programming: A technique for organizing and coding computer programs in which a hierarchy of modules is used, each having.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
Illinois Institute of Technology
INTEGRATION TESTING ● After or during Unit Testing ● Putting modules together in a controlled way to incrementally build up the final system. ● Start with.
Chapter 4 - VB.Net by Schneider1 Chapter 4 General Procedures 4.1 Sub Procedures, Part I 4.2 Sub Procedures, Part II 4.3 Function Procedures 4.4 Modular.
Chapter 1 Principles of Programming and Software Engineering.
Testing an individual module
Understanding the Mainline Logical Flow Through a Program (continued)
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 4 Sec. 4.1, 4.2, 4.4 Procedures (User-defined)
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
BPC.1 Basic Programming Concepts
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Software System Integration
ECE 265 – LECTURE 9 PROGRAM DESIGN 8/12/ ECE265.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Software.
1 Software Construction Software Construction Chapter 1.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
Design-Making Projects Work (Chapter7) n Large Projects u Design often distinct from analysis or coding u Project takes weeks, months or years to create.
Software Testing.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 3 Simple.
Implementation 1. Software Implementation – transforming design into code Requirements Analysis Software Design Implementation Testing Deployment Evolution.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
SE: CHAPTER 7 Writing The Program
Sharda University P. K. Mishra (Asst.Prof) Department of Computer Science & Technology Subject Name: Programming Using C Sub Code: CSE-106 Programming.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
The Software Development Process
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Chapter 3 Top-Down Design with Functions Part II J. H. Wang ( 王正豪 ), Ph. D. Assistant Professor Dept. Computer Science and Information Engineering National.
Program Style Chapter 22 IB103 Week 12 (part 2). Modularity: the ability to reuse code Encapsulation: hide data access directly but may use methods (the.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Phase Testing: More examples 1. Review: Selecting Glass box test cases  Determine what to test (select types of coverage)  Create a flowchart for code.
Design and Planning Or: What’s the next thing we should do for our project?
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
04/02/ Procedures Top-down approach / Stepwise Refinement & Sub Procedures.
Dillon: CSE470: SYSTEM INTEGRATION 1 Build Plan l Development or integration strategies l Decide the order in which components of the system will be developed.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Integrating the Code during the Development Alexander Vakrilov Telerik Corporation
Chapter 2 Principles of Programming and Software Engineering.
Chapter 1 Software Development Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
Chapter 7: Function.
Functions Review.
Principles of Programming and Software Engineering
Starting Out with Programming Logic & Design
Unit# 9: Computer Program Development
Chapter 3 Simple Functions
Chapter 4 void Functions
Software System Integration
Programming Logic and Design Fourth Edition, Comprehensive
Topics Introduction to Functions Defining and Calling a Function
Starting Out with Programming Logic & Design
Software Development Chapter 1.
CSCE-221 C++ Coding Standard/Guidelines
Presentation transcript:

Chapter 7 Implementation

Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing modules on top of hierarchy and test by coding stubs F Bottom-up –Start by implementing modules on bottom of hierarchy and code drivers to test F Threads –Implement and test a minimal set of modules implementing a function

Implementation Approaches Advantages and Disadvantages F Big bang advantages –None F Big bang disadvantages –Difficult to debug –Much throwaway code –Critical and peripheral modules not distinguished –User does not see product until very late in the development cycle

Implementation Approaches Advantages and Disadvantages F Top-down advantages –Separately debugged modules –System test by integrating previously debugged modules –Stubs are easier to code than drivers –User interfaces are top- level modules F Top-down disadvantages –Stubs must be written –Low-level, critical modules built last –Testing upper-level modules is difficult

Implementation Approaches Advantages and Disadvantages F Bottom-up advantages –Separately debugged modules –System test by integrating previously debugged modules –Testing upper-level modules is easier F Bottom-up disadvantages –Drivers must be written –Upper-level, critical modules are built last –Drivers are more difficult to write than stubs –User interfaces are top- level modules

Implementation Plan F Specifies which implementation strategy will be employed F Divides the project into phases F Specifies a schedule for each phase including the following steps for each phase: –Coding –Unit testing –Integration of units –Integration testing

Sample Implementation Plan Week number Activity Phase I coding Phase I unit testing Phase I integration Phase I integration testing Phase II coding Phase II unit testing Phase II integration Phase II integration testing

Implementation in the LMS Case Study F Phase I –CheckOutResource –CheckInResource F Phase II –ManageResource F Phase III –ManagePatron F Phase IV –BrowseResource –RequestResource –ReserveResource –GenFormLetter ( See deliverable 7.3 for a sample schedule )

Programming Style F Programmers should strive for simple and readable code F Shorter code is usually simpler code F Simpler code typically contains fewer decisions F Excessively nested logic should be avoided

Comments and Internal Documentation F Most successful software systems exist for several years and require modification during that time F Comments are the chief source of information about the source code, and thus are extremely important F A header comment block summarizes the purpose of a module (class or method) F Line comments are inserted into the source code to explain the objectives of a subset of the instructions comprising a module

Programming Standards for the LMS Case Study F General Rules: –Structured programming techniques should be used in all methods –Comments should be used to identify the purpose of each method and to clarify obscure processing –Each method must be prefaced with a comment box –All major blocks of code should also be prefaced with comment boxes –Each major control structure (loop, selection) should be clarified through a line comment –All code should be simple and easy to read

Programming Standards for the LMS Case Study F Modularization Rules: –Each method must perform only one task –Global variables should not be used. Data should be shared only through the parameter list –If, during implementation, a need arises for a class not specified in the design, the design must be reexamined before the new class is implemented

Programming Standards for the LMS Case Study F Declarations: –All variables must be declared and explicit types used –Name of variables and methods should describe their content or usage. An exception can be made for naming subscripts and counters –Declarations of any files should precede variable declarations –Declarations of instance variables in a class should precede method definitions

Programming Standards for the LMS Case Study F Executable instructions: –Align and indent parallel constructs. Indent subsequent levels at least three spaces. Each line should contain at most one instruction. Use blank lines to set off major control constructs –Do not use goto –Use priming read/looping read technique for all sequential files –Open and close files explicitly –Avoid negative conditions

Complete your own Implementation Plan: F Gather into your development groups, and work out your plan: impPlan.docimpPlan.doc