Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 1 Advanced Topics in Object Technology Bertrand Meyer.

Similar presentations


Presentation on theme: "Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 1 Advanced Topics in Object Technology Bertrand Meyer."— Presentation transcript:

1 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 1 Advanced Topics in Object Technology Bertrand Meyer

2 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 2 Lecture 2: EiffelStudio and project presentation By Karine Arnout

3 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 3 Agenda for today  EiffelStudio: The ISE Eiffel environment  Project presentation

4 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 4 Agenda for today  EiffelStudio: The ISE Eiffel environment  Project presentation

5 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 5 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

6 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 6 Material available online  Guided tour: http://se.inf.ethz.ch/people/arnout/eiffel_studio_presentation.pdf

7 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 7 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

8 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 8 Introduction to the IDE  One development window divided into four panels:  Editor  Context tool  Clusters pane  Features pane + Search and Favorites  Toolbar customization  Pick-and-drop mechanism

9 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 9 The editor  Syntax highlighting  Syntax completion (CTRL+Space)  Class name completion (SHIFT+CTRL+Space)  Smart indenting  Block indent or exdent  Block commenting or uncommenting  Infinite level of Undo/Redo (reset after a save)  Quick search features (F3 and SHIFT+F3)

10 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 10 The compiler  Fast  Produces efficient code  Supports.NET  Project Settings Tool

11 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 11 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

12 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 12  Class types:  Cluster: A quick run through BON * DEFERRE D + EFFECTIV E ● PERSISTEN T ▲ INTERFACE D REUSED ROOT_CLASS ROOT_CLUSTER ▲ INTERFACED

13 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 13 A quick run through BON (cont’d)  Inheritance link:  Client links: + EFFECTIV E * DEFERRE D ROOT_CLASS REUSED ROOT_CLASS REUSED f expanded_f

14 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 14 The Diagram tool  Provides “Real time” roundtrip reverse engineering  Synchronized at each compilation  Allows for different views

15 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 15 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

16 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 16 Documentation generation  Multiple predefined formats  Extendible formats  Extremely powerful HTML generation with clickable diagrams

17 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 17 Metrics  Hundreds of different metrics available  Can be publicized on web sites for future comparison

18 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 18 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

19 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 19 Getting started with the debugger  The system must be melted/frozen (finalized systems cannot be debugged)  Use the Project Settings Tool to specify command line arguments  Click the launch button

20 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 20 Setting breakpoints  Use the flat formats to add breakpoints  Tip: An efficient way of adding breakpoints consists in dropping a feature in the context tool  Click in the margin to enable/disable single breakpoints  Use the toolbar debug buttons to enable or disable all breakpoints globally

21 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 21 Running the application  New display of the Development Window to include debugging information about:  The current object (Object Tool)  The arguments to the function being debugged (local variables)  Possibility to control the number of elements the debugger displays for special objects (Arrays, Strings)  Once on a breakpoint: possibility to step over / into / out next statement  Possibility to interrupt the application at anytime (Pause Application button or SHIFT+CTRL+F5)

22 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 22 EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

23 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 23 Agenda for today  EiffelStudio: The ISE Eiffel environment  Project presentation

24 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 24 Grading  Exam (2h): 40%  2 July 2003  Project: 60%  Development of a “Pattern Wizard”  Deadline: 18 June 2003

25 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 25 The project  Pattern Wizard  Design + implementation in Eiffel  GUI + Business model  Documentation  User guide: how to use the tool  Developer guide: description of the architecture, main classes, limitations, how to extend the tool  Test suite  Thorough set of test cases

26 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 26 The Pattern Wizard  Should cover at least the 10 following design patterns:  Abstract Factory, Factory Method, Builder, Prototype, Singleton  Adapter, Bridge, Composite, Decorator, Proxy  (More is a bonus)  Should be extendible to all design patterns described by Gamma et al.  (Reference: Gamma et al.: Design Patterns, Addison-Wesley, 1995.)

27 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 27 Grading criteria  Design (30 points)  Soundness (5 points)  Extendibility (5 points)  Ease of use (5 points)  Minimal requirements (15 points)  Quality of contracts (20 points)  Documentation (20 points)  User guide (10 points)  Developer guide (10 points)  Test (10 points)  Quality of test suite (5 points)  Correctness of the tool (5 points)  Quality of code (10 points)  Style guidelines (5 points)  Quality of code (5 points)  Effort devoted to the project (10 points)

28 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 28 Pattern Wizard: onto the details…  The template classes to be generated will be provided; for example: indexing description: "Abstract factory" deferred class FACTORY feature -- Factory methods new_product_a: PRODUCT_A is -- New product A deferred ensure product_a_not_void: Result /= Void end new_product_b: PRODUCT_B is -- New product B deferred ensure product_b_not_void: Result /= Void end

29 Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 29 End of lecture 2


Download ppt "Chair of Software Engineering ATOT - Lecture 2, 2 April 2003 1 Advanced Topics in Object Technology Bertrand Meyer."

Similar presentations


Ads by Google