We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byKevin Dunn
Modified over 3 years ago
Slide 5.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach email@example.com
Slide 5.2 © The McGraw-Hill Companies, 2007 CHAPTER 5 THE TOOLS OF THE TRADE
Slide 5.3 © The McGraw-Hill Companies, 2007 Overview Stepwise refinement Cost–benefit analysis Software metrics CASE Taxonomy of CASE Scope of CASE Software versions Configuration control Build tools Productivity gains with CASE technology
Slide 5.4 © The McGraw-Hill Companies, 2007 5.1 Stepwise Refinement A basic principle underlying many software engineering techniques Postpone decisions as to details as late as possible to be able to concentrate on the important issues Millers law (1956) A human being can concentrate on 7 ± 2 items at a time
Slide 5.5 © The McGraw-Hill Companies, 2007 5.1.1 Stepwise Refinement Mini Case Study Design a product to update a sequential master file containing name and address data for the monthly magazine True Life Software Disasters Three types of transactions Type 1:INSERT (a new subscriber into the master file) Type 2:MODIFY (an existing subscriber record) Type 3:DELETE (an existing subscriber record) Transactions are sorted into alphabetical order, and by transaction code within alphabetical order
Slide 5.6 © The McGraw-Hill Companies, 2007 Typical File of Input Transactions Figure 5.1
Slide 5.7 © The McGraw-Hill Companies, 2007 Decompose Process No further refinement is possible Figure 5.2
Slide 5.8 © The McGraw-Hill Companies, 2007 First Refinement Figure 5.3
Slide 5.9 © The McGraw-Hill Companies, 2007 Stepwise Refinement Case Study (contd) Assumption We can produce a record when PROCESS requires it Separate INPUT and OUTPUT, concentrate on PROCESS
Slide 5.10 © The McGraw-Hill Companies, 2007 Stepwise Refinement Case Study (contd) What is this PROCESS? Example: Figure 5.4
Slide 5.11 © The McGraw-Hill Companies, 2007 Stepwise Refinement Case Study (contd) More formally: Figure 5.5
Slide 5.12 © The McGraw-Hill Companies, 2007 Second Refinement Figure 5.6
Slide 5.13 © The McGraw-Hill Companies, 2007 Third Refinement This design has a major fault Figure 5.7
Slide 5.14 © The McGraw-Hill Companies, 2007 Stepwise Refinement Case Study (contd) The third refinement is WRONG Modify JONES followed by Delete JONES is incorrectly handled
Slide 5.15 © The McGraw-Hill Companies, 2007 Stepwise Refinement Case Study (contd) After the third refinement has been corrected Details like opening and closing files have been ignored up to now Fix these after the logic of the design is complete The stage at which an item is handled is vital Opening and closing files is Ignored in early steps, but Essential later
Slide 5.16 © The McGraw-Hill Companies, 2007 Appraisal of Stepwise Refinement A basic principle used in Every workflow Every representation The power of stepwise refinement The software engineer can concentrate on the relevant aspects Warning Millers Law is a fundamental restriction on the mental powers of human beings
Slide 5.17 © The McGraw-Hill Companies, 2007 5.2 Cost–Benefit Analysis Compare costs and future benefits Estimate costs Estimate benefits State all assumptions explicitly
Slide 5.18 © The McGraw-Hill Companies, 2007 Cost–Benefit Analysis (contd) Example: Computerizing KCEC Figure 5.8
Slide 5.19 © The McGraw-Hill Companies, 2007 Cost–Benefit Analysis (contd) Tangible costs/benefits are easy to measure Make assumptions to estimate intangible costs/benefits Improving the assumptions will improve the estimates
Slide 5.20 © The McGraw-Hill Companies, 2007 5.3 Software Metrics To detect problems early, it is essential to measure Examples: LOC per month Defects per 1000 lines of code
Slide 5.21 © The McGraw-Hill Companies, 2007 Different Types of Metrics Product metrics Examples: Size of product Reliability of product Process metrics Example: Efficiency of fault detection during development Metrics specific to a given workflow Example: Number of defects detected per hour in specification reviews
Slide 5.22 © The McGraw-Hill Companies, 2007 The Five Basic Metrics Size In lines of code, or better Cost In dollars Duration In months Effort In person months Quality Number of faults detected
Slide 5.23 © The McGraw-Hill Companies, 2007 5.4 CASE (Computer-Aided Software Engineering) Scope of CASE CASE can support the entire life-cycle The computer assists with drudge work It manages all the details
Slide 5.24 © The McGraw-Hill Companies, 2007 5.5 Taxonomy of CASE UpperCASE (front-end tool) versus LowerCASE (back-end tool)
Slide 5.25 © The McGraw-Hill Companies, 2007 Some Useful Tools Data dictionary Computerized list of all data defined within the product Consistency checker Report generator, screen generator
Slide 5.26 © The McGraw-Hill Companies, 2007 Taxonomy of CASE (contd) (a) Tool versus (b) workbench versus (c) environment Figure 5.9
Slide 5.27 © The McGraw-Hill Companies, 2007 5.6 Scope of CASE Programmers need to have: Accurate, up-to-date versions of all project documents Online help information regarding the Operating system Editor Programming language Online programming standards Online manuals Editor manuals Programming manuals
Slide 5.28 © The McGraw-Hill Companies, 2007 Scope of CASE (contd) Programmers need to have: E-mail systems Spreadsheets Word processors Structure editors Pretty printers Online interface checkers
Slide 5.29 © The McGraw-Hill Companies, 2007 Online Interface Checker A structure editor must support online interface checking The editor must know the name of every code artifact Interface checking is an important part of programming-in-the-large
Slide 5.30 © The McGraw-Hill Companies, 2007 Online Interface Checker (contd) Example The user enters the call average = dataArray.computeAverage (numberOfValues); The editor immediately responds Method computeAverage not known The programmer is given two choices Correct the name of the method to computeMean Declare new procedure computeAverage and specify its parameters This enables full interface checking
Slide 5.31 © The McGraw-Hill Companies, 2007 Online Interface Checker (contd) Example Declaration of q is void q (float floatVar, int intVar, String s1, String s2); Call (invocation) is q (intVar, floatVar, s1, s2); The online interface checker detects the fault Help facility Online information for the parameters of method q Better: Editor generates a template for the call The template shows type of each parameter The programmer replaces formal by actual parameters
Slide 5.32 © The McGraw-Hill Companies, 2007 Online Interface Checker (contd) Advantages There is no need for different tools with different interfaces Hard-to-detect faults are immediately flagged for correction Wrong number of parameters Parameters of the wrong type Essential when software is produced by a team If one programmer changes an interface specification, all components calling that changed artifact must be disabled
Slide 5.33 © The McGraw-Hill Companies, 2007 Online Interface Checker (contd) Even when a structure editor incorporates an online interface checker, a problem remains The programmer still has to exit from the editor to invoke the compiler (to generate code) Then, the linker must be called to link the product The programmer must adjust to the JCL, compiler, and linker output Solution: Incorporate an operating system front- end into the structure editor
Slide 5.34 © The McGraw-Hill Companies, 2007 Operating System Front-End in Editor Single command go or run Use of the mouse to choose An icon, or A menu selection This one command causes the editor to invoke the compiler, linker, loader, and execute the product
Slide 5.35 © The McGraw-Hill Companies, 2007 Source Level Debugger Example: Product executes terminates abruptly and prints Overflow at 4B06 or Core dumped or Segmentation fault
Slide 5.36 © The McGraw-Hill Companies, 2007 Source Level Debugger (contd) The programmer works in a high-level language, but must examine Machine-code core dumps Assembler listings Linker listings Similar low-level documentation This destroys the advantage of programming in a high-level language We need An interactive source level debugger (like dbx )
Slide 5.37 © The McGraw-Hill Companies, 2007 Source Level Debugger (contd) Output from a typical source-level debugger Figure 5.10
Slide 5.38 © The McGraw-Hill Companies, 2007 Programming Workbench Structure editor with Online interface checking capabilities Operating system front-end Online documentation Source level debugger This constitutes a simple programming environment
Slide 5.39 © The McGraw-Hill Companies, 2007 Programming Workbench (contd) This is by no means new All the above features are supported by FLOW (1980) The technology has been in place for years Surprisingly, some programmers still implement code the old-fashioned way
Slide 5.40 © The McGraw-Hill Companies, 2007 5.7 Software Versions During maintenance, at all times there are at least two versions of the product: The old version, and The new version There are two types of versions: revisions and variations
Slide 5.41 © The McGraw-Hill Companies, 2007 5.7.1 Revisions Revision A version to fix a fault in the artifact We cannot throw away an incorrect version The new version may be no better Some sites may not install the new version Perfective and adaptive maintenance also result in revisions
Slide 5.42 © The McGraw-Hill Companies, 2007 5.7.2 Variations A variation is a version for a different operating system–hardware Variations are designed to coexist in parallel Figure 5.11
Slide 5.43 © The McGraw-Hill Companies, 2007 5.8 Configuration Control Every code artifact exists in three forms Source code Compiled code Executable load image Configuration A version of each artifact from which a given version of a product is built Figure 5.12
Slide 5.44 © The McGraw-Hill Companies, 2007 Version-Control Tool Essential for programming-in-the-many A first step toward configuration management A version-control tool must handle Updates Parallel versions
Slide 5.45 © The McGraw-Hill Companies, 2007 Version-Control Tool (contd) Notation for file name, variation, and version Figure 5.13
Slide 5.46 © The McGraw-Hill Companies, 2007 Version-Control Tool (contd) Problem of multiple variations Deltas Version control is not enough maintenance issues
Slide 5.47 © The McGraw-Hill Companies, 2007 5.8.1 Configuration Control during Postdelivery Maintenance Two programmers are working on the same artifact mDual/16 The changes of the first programmer are contained in mDual/17 The changes of the second programmer are contained in mDual/18 The changes of the first programmer are lost
Slide 5.48 © The McGraw-Hill Companies, 2007 5.8.2 Baselines The maintenance manager must set up Baselines Private workspaces When an artifact is to be changed, the current version is frozen Thereafter, it can never be changed
Slide 5.49 © The McGraw-Hill Companies, 2007 Baselines (contd) Both programmers make their changes to mDual/16 The first programmer Freezes mDual/16 and makes changes to it The resulting revision is mDual/17 After testing, mDual/17 becomes the new baseline The second programmer Freezes mDual/17 and makes changes to it The resulting revision is mDual/18 After testing, mDual/18 becomes the new baseline
Slide 5.50 © The McGraw-Hill Companies, 2007 5.8.3 Configuration Control during Development While an artifact is being coded The programmer performs informal testing Then the artifact is given to the SQA group for methodical testing Changes from now on can impact the product An artifact must be subject to configuration control from the time it is passed by SQA
Slide 5.51 © The McGraw-Hill Companies, 2007 Configuration-Control Tools UNIX version-control tools sccs rcs cvs Popular commercial configuration-control tools PVCS SourceSafe Open-source configuration-control tool cvs
Slide 5.52 © The McGraw-Hill Companies, 2007 5.9 Build Tools Example UNIX make A build tool compares the date and time stamp on Source code, compiled code It calls the appropriate compiler only if necessary The tool then compares the date and time stamp on Compiled code, executable load image It calls the linker only if necessary
Slide 5.53 © The McGraw-Hill Companies, 2007 5.10 Productivity Gains with CASE Tools Survey of 45 companies in 10 industries (1992) Half information systems Quarter scientific software Quarter real-time aerospace software Results About 10% annual productivity gains Cost: $125,000 per seat
Slide 5.54 © The McGraw-Hill Companies, 2007 Productivity Gains with CASE Tools (contd) Justifications for CASE Faster development Fewer faults Easier maintenance Improved morale
Slide 5.55 © The McGraw-Hill Companies, 2007 5.10 Productivity Gains with CASE Tools Newer results on fifteen Fortune 500 companies (1997) It is vital to have Training, and A software process Results confirm that CASE environments should be used at CMM level 3 or higher A fool with a tool is still a fool
Slide 5.56 © The McGraw-Hill Companies, 2007 Summary of Tools in Chapter 5 Figure 5.14
Slide 5B.18 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 5.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
1 The Tools of the Trade Xiaojun Qi. 2 Stepwise Refinement Stepwise refinement is a basic problem- solving principle underlying many software engineering.
Slide 5.1 © The McGraw-Hill Companies, 2002 CASE (Computer-Aided Software Engineering) l Scope of CASE –Can support the entire life-cycle l Graphical display.
Slide 5.1 Lecture 5 THE TOOLS OF THE TRADE. Slide 5.2 Overview l Stepwise refinement l Cost–benefit analysis l Divide-and-conquer l Separation of concerns.
Slide 5.1 CHAPTER 5 THE TOOLS OF THE TRADE. Slide 5.2 Overview l Analytical Tools –Stepwise refinement –Cost–benefit analysis l Software metrics l CASE.
Slide 5.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
PP Test Review Sections 6-1 to 6-6 Mrs. Rivas 1. 2.
2011年上半年 我院团学工作活动图片展播 2011年8月28日.
Chapter 13 Fluids Physics for Scientists & Engineers, 3 rd Edition Douglas C. Giancoli © Prentice Hall.
×1= 9 4 1×1= 1 5 8×1= 8 6 7×1= 7 7 8×3= 24.
Break Time Remaining 10:00. Break Time Remaining 9:59.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
5.1/68 The Tools of The Trade. 5.2/68 Overview l Stepwise refinement, l Cost–benefit analysis, l SW metrics, l Case – Taxonomy of CASE, – Scope of CASE,
BMU - E I 1 Development of renewable energy sources in Germany in
BMU – KI III 1 Development of renewable energy sources in Germany in
Time for a BREAK! You have 45 Minutes. Time Left 44.
Copyright © Action Works 2008 All Rights Reserved - Photos by David D. Kempster 1.
13:00 Clock will move after 1 minute PPT – VCIC Timer 15.ppt.
C Copyright © 2005, Oracle. All rights reserved. Practice Solutions.
AP STUDY SESSION 2.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Chapter 12 Membrane Transport Essential Cell Biology Third Edition Copyright © Garland Science 2010.
DLMSO Classroom Timer Select a time to count down from the clock above 60 min 45 min 30 min 20 min 15 min 10 min 5 min or less.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
3rd Annual Plex/2E Worldwide Users Conference 13A Batch Processing in 2E Jeffrey A. Welsh, STAR BASE Consulting, Inc. September 20, 2007.
Variations of the Turing Machine
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
David Burdett May 11, 2004 Package Binding for WS CDL.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
Slide 6.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Create an Application Title 1Y - Youth Chapter 5.
Welcome. © 2008 ADP, Inc. 2 Overview A Look at the Web Site Question and Answer Session Agenda.
1 STANDARD 1.3 Converting a Fraction to % Problem 1 Problem 4 Problems 3 Problem 2 Problem 5 END SHOW PRESENTATION CREATED BY SIMON PEREZ. All rights reserved.
Operating Systems Operating Systems - Winter 2012 Chapter 4 – Memory Management Vrije Universiteit Amsterdam.
Operating Systems Operating Systems - Winter 2010 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
Process a Customer Chapter 2. Process a Customer 2-2 Objectives Understand what defines a Customer Learn how to check for an existing Customer Learn how.
1 Titre de la diapositive SDMO Industries – Training Département MICS KERYS 09- MICS KERYS – WEBSITE.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 10: Applications of Arrays and the class vector.
1 Budapest University of Technology and Economics, BME, 1872 Budapest University of Technology and Economics, BME, 1872 Happy New Year 2012.
Symantec 2010 Windows 7 Migration EMEA Results. Methodology Applied Research performed survey 1,360 enterprises worldwide SMBs and enterprises Cross-industry.
Chapter 14 Energy Generation in Mitochondria and Chlorplasts Essential Cell Biology Third Edition Copyright © Garland Science 2010.
3 : 00 2 : 59 2 : 58 2 : 57 2 : 56 2 : 55 2 : 54.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products of system change l Objectives.
© 2017 SlidePlayer.com Inc. All rights reserved.