Unformatted text preview:

Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected] 14OverviewOverview (contd)Implementation PhaseChoice of Programming Language (contd)Slide 7Slide 8Slide 9Fourth Generation LanguagesFourth Generation Languages (contd)Slide 12Productivity Increases with a 4GL?Actual Experiences with 4GLsActual Experiences with 4GLs (contd)Slide 16Key Factors When Using a 4GLKey Factors When Using a 4GL (contd)Good Programming PracticeGood Programming Practice ExampleGood Programming Practice (contd)Slide 22Prologue CommentsOther CommentsNested if StatementsNested if Statements (contd)Slide 27Slide 28Slide 29Programming StandardsRemarks on Programming StandardsRemarks on Programming Standards (contd)Slide 33Software Quality ControlModule ReuseModule Test Case SelectionModule Test Case Selection (contd)Feasibility of Testing to SpecificationsSlide 39Feasibility of Testing to CodeFeasibility of Testing to Code (contd)Slide 42Slide 43Slide 44Coping with the Combinatorial ExplosionSlide 46Black-Box Module Testing MethodsEquivalence Testing (contd)Boundary Value AnalysisDatabase ExampleBoundary Value Analysis of Output SpecsOverall StrategyGlass-Box Module Testing MethodsStructural Testing: Statement CoverageStructural Testing: Branch CoverageLinear Code SequencesAll-definition-use-path CoverageAll-definition-use-path Coverage (contd)Infeasible CodeMeasures of ComplexityLines of CodeOther Measures of ComplexitySoftware Science MetricsProblem with These MetricsCode Walkthroughs and InspectionsComparison: Module Testing TechniquesComparison: Module Testing Techniques (contd)Slide 68CleanroomCleanroom (contd)Slide 71Slide 72Testing ObjectsTesting Objects (contd)Slide 75Slide 76Slide 77Slide 78Slide 79Module Testing: Management ImplicationsWhen to Rewrite Rather Than DebugFault Distribution In Modules Is Not UniformFault Distribution In Modules Not Uniform (contd)Air Gourmet Case Study: Black-Box Test CasesChallenges of the Implementation PhaseSlide 14.1© The McGraw-Hill Companies, 2002Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002Stephen R. [email protected] 14.2© The McGraw-Hill Companies, 2002CHAPTER 14IMPLEMENTATION PHASESlide 14.3© The McGraw-Hill Companies, 2002OverviewChoice of programming languageFourth generation languagesGood programming practiceCoding standardsModule reuseModule test case selectionBlack-box module-testing techniquesGlass-box module-testing techniquesSlide 14.4© The McGraw-Hill Companies, 2002Overview (contd)Code walkthroughs and inspectionsComparison of module-testing techniquesCleanroomPotential problems when testing objectsManagement aspects of module testingWhen to rewrite rather than debug a moduleCASE tools for the implementation phaseAir Gourmet Case Study: Black-box test casesChallenges of the implementation phaseSlide 14.5© The McGraw-Hill Companies, 2002Implementation PhaseProgramming-in-the-manyChoice of Programming Language –Language is usually specified in contractBut what if the contract specifies –The product is to be implemented in the “most suitable” programming languageWhat language should be chosen?Slide 14.6© The McGraw-Hill Companies, 2002Choice of Programming Language (contd)Example –QQQ Corporation has been writing COBOL programs for over 25 years–Over 200 software staff, all with COBOL expertise–What is “most suitable” programming language?Obviously COBOLSlide 14.7© The McGraw-Hill Companies, 2002Choice of Programming Language (contd)What happens when new language (C++, say) is introduced–New hires–Retrain existing professionals–Future products in C++–Maintain existing COBOL products–Two classes of programmers»COBOL maintainers (despised)»C++ developers (paid more)–Need expensive software, and hardware to run it–100s of person-years of expertise with COBOL wastedSlide 14.8© The McGraw-Hill Companies, 2002Choice of Programming Language (contd)Only possible conclusion–COBOL is the “most suitable” programming language And yet, the “most suitable” language for the latest project may be C++–COBOL is suitable for only DP applicationsHow to choose a programming language–Cost-benefit analysis–Compute costs, benefits of all relevant languagesSlide 14.9© The McGraw-Hill Companies, 2002Choice of Programming Language (contd)Which is the most appropriate object-oriented language?–C++ is (unfortunately) C-like–Java enforces the object-oriented paradigm–Training in the object-oriented paradigm is essential before adopting any object-oriented languageWhat about choosing a fourth generation language (4GL)?Slide 14.10© The McGraw-Hill Companies, 2002Fourth Generation LanguagesFirst generation languages–Machine languagesSecond generation languages–Assemblers Third generation languages–High-level languages (COBOL, FORTRAN, C++) Fourth generation languages (4GLs)–One 3GL statement is equivalent to 5–10 assembler statements–Each 4GL statement intended to be equivalent to 30 or even 50 assembler statementsSlide 14.11© The McGraw-Hill Companies, 2002Fourth Generation Languages (contd)It was hoped that 4GLs would–Speed up application-building –Applications easy, quick to change»Reducing maintenance costs–Simplify debugging –Make languages user friendly»Leading to end-user programmingAchievable if 4GL is a user friendly, very high-level languageSlide 14.12© The McGraw-Hill Companies, 2002Fourth Generation Languages (contd)Example –(“Just in Case You Wanted to Know” box, page 438)The power of a nonprocedural language, and the priceSlide 14.13© The McGraw-Hill Companies, 2002Productivity Increases with a 4GL?The picture is not uniformly rosyProblems with–Poor management techniques–Poor design methodsJames Martin suggests use of–Prototyping–Iterative design–Computerized data management–Computer-aided structuringIs he right? Does he (or anyone else) know?Slide 14.14© The McGraw-Hill Companies, 2002Actual Experiences with 4GLsPlaytex used ADF, obtained an 80 to 1 productivity increase over COBOL–However, Playtex then used COBOL for later applications 4GL productivity increases of 10 to 1 over COBOL have been reported –However, there are plenty of reports of bad experiencesSlide 14.15© The McGraw-Hill


View Full Document

STAN STATE CS 4800 - IMPLEMENTATION PHASE

Download IMPLEMENTATION PHASE
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view IMPLEMENTATION PHASE and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view IMPLEMENTATION PHASE 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?