Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 tools (many for PCs) –Data flow diagrams –Entity-relationship diagrams –Module-interconnection diagrams –Petri nets –Structure charts

2 Slide 5.2 © The McGraw-Hill Companies, 2002 Taxonomy of CASE l UpperCASE versus lowerCASE l Tool versus workbench versus environment

3 Slide 5.3 © The McGraw-Hill Companies, 2002 Essential Coding Tools l Coding tools –Products (such as text editors, debuggers, and pretty printers) designed to »Simplify programmer’s task »Reduce frustration »Increase programmer productivity l Conventional coding scenario for programming-in-the-small –Editor-compiler cycle –Editor-compiler-linker cycle –Editor-compiler-linker-execute cycle l “There must be a better way”

4 Slide 5.4 © The McGraw-Hill Companies, 2002 Graphical Tool l Additional features –Data dictionary –Screen and report generators –Consistency checker; the various views are always consistent »Specifications and design workbench

5 Slide 5.5 © The McGraw-Hill Companies, 2002 Syntax-Directed Editor l “Understands” language –Speeds up implementation –User interface of an editor is different to that of a compiler »There is no need to change thinking mode »No mental energy is wasted on these adjustments –One piece of system software, two languages »High-level language of module »Editing command language –Pretty-printer

6 Slide 5.6 © The McGraw-Hill Companies, 2002 Online Interface Checker l Example –The programmer tries to call procedure computeAverage, but the linker cannot find it –The programmer realizes that the actual name of the procedure is computeMean l A structure editor must support online interface checking –Editor must know name of every procedure l Interface checking is an important part of programming-in-the-large

7 Slide 5.7 © The McGraw-Hill Companies, 2002 Online Interface Checker (contd) l Example –The user enters the call average = computeAverage (dataArray, numberOfValues); –Editor immediately responds with a message such as Procedure computeAverage not known l Programmer is given two choices –Correct the name of the procedure –Declare new procedure computeAverage and specify its parameters l Enables full interface checking

8 Slide 5.8 © The McGraw-Hill Companies, 2002 Online Interface Checker (contd) l Example –Declaration of q is void q (float floatVar, int intVar, String s1, String s2); –Call (invocation) is q (intVar, floatVar, s1, s2); –Online interface checker detects the fault l Help facility –Online information as to the parameters of method q –Better: Editor generates a template for the call »Shows type of each parameter »Programmer replaces formal by actual parameter

9 Slide 5.9 © The McGraw-Hill Companies, 2002 Online Interface Checker (contd) l Advantages –No need for different tools with different interfaces –Hard-to-detect faults are immediately flagged for correction »Wrong number of parameters »Parameters of wrong type l Essential when software is produced by a team –If one programmer changes the interface specification, all modules calling that changed module must be disabled

10 Slide 5.10 © The McGraw-Hill Companies, 2002 Online Interface Checker (contd) l Remaining problem –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 –Must adjust to the JCL, compiler, and linker output

11 Slide 5.11 © The McGraw-Hill Companies, 2002 Operating System Front-End in Editor l Single command –go or run –Use of the mouse to choose icon, or menu selection l Causes the editor to invoke the compiler, linker, loader, and execute the product

12 Slide 5.12 © The McGraw-Hill Companies, 2002 Operating System Front-End in Editor (contd) l Online documentation –Help information regarding »Operating system »Editor »Programming language –Programming standards –Manuals »Editor manuals »Programming manuals

13 Slide 5.13 © The McGraw-Hill Companies, 2002 Online Documentation l Problems with –Manuals –Updating l Essential online documentation –Help information –Programming standards –Manuals

14 Slide 5.14 © The McGraw-Hill Companies, 2002 Source Level Debugger l Example: –Product executes terminates abruptly and prints Overflow at 4B06, or Core dumped, or Segmentation fault

15 Slide 5.15 © The McGraw-Hill Companies, 2002 Source Level Debugger (contd) l The programmer works in a high-level language, but must examine –Machine code core dumps –Assembler listings –Linker listings –Similar low-level documentation l Destroys the advantage of programming in a high-level language l We need –Interactive source level debugger (like dbx )

16 Slide 5.16 © The McGraw-Hill Companies, 2002 Programming Workbench l Structure editor with –Online interface checking capabilities –Operating system front-end –Online documentation –Source level debugger l Constitutes a simple programming environment

17 Slide 5.17 © The McGraw-Hill Companies, 2002 Programming Workbench (contd) l 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 Ye Olde-Fashioned Way

18 Slide 5.18 © The McGraw-Hill Companies, 2002 Software Versions l During maintenance, at all times there are at least two versions of the product: –The old version, and –The new version l Two types of versions: revisions and variations

19 Slide 5.19 © The McGraw-Hill Companies, 2002 Revisions and Variations l Revision –Version to fix a fault in the module –We cannot throw away an incorrect version l Perfective and adaptive maintenance also results in revisions

20 Slide 5.20 © The McGraw-Hill Companies, 2002 Revisions and Variations (contd) l Variation –Version for different operating system–hardware –Variations are designed to coexist in parallel

21 Slide 5.21 © The McGraw-Hill Companies, 2002 Configuration Control l Every module exists in three forms –Source code; object code; executable load image l Configuration –Version of each module from which a given version of a product is built


Download ppt "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."

Similar presentations


Ads by Google