Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.