Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer
Chair of Software Engineering OOSC - Summer Semester Lecture 2: EiffelStudio and project presentation
Chair of Software Engineering OOSC - Summer Semester Agenda for today EiffelStudio: The ISE Eiffel environment Project presentation
Chair of Software Engineering OOSC - Summer Semester Agenda for today EiffelStudio: The ISE Eiffel environment Project presentation
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester Material available online Guided tour: ion.pdf
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester 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
Chair of Software Engineering OOSC - Summer Semester 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)
Chair of Software Engineering OOSC - Summer Semester The compiler Fast Produces efficient code Supports.NET Project Settings Tool
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester Class types: Cluster: A quick run through BON * DEFERRE D + EFFECTIV E ● PERSISTEN T ▲ INTERFACE D REUSED ROOT_CLASS ROOT_CLUSTER ▲ INTERFACED
Chair of Software Engineering OOSC - Summer Semester A quick run through BON (cont’d) Inheritance link: Client links: + EFFECTIV E * DEFERRE D ROOT_CLASS REUSED ROOT_CLASS REUSED f expanded_f
Chair of Software Engineering OOSC - Summer Semester The Diagram tool Provides “Real time” roundtrip reverse engineering Synchronized at each compilation Allows for different views
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester Documentation generation Multiple predefined formats Extendible formats Extremely powerful HTML generation with clickable diagrams
Chair of Software Engineering OOSC - Summer Semester Metrics Hundreds of different metrics available Can be publicized on web sites for future comparison
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester 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
Chair of Software Engineering OOSC - Summer Semester 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
Chair of Software Engineering OOSC - Summer Semester 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)
Chair of Software Engineering OOSC - Summer Semester EiffelStudio Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo
Chair of Software Engineering OOSC - Summer Semester Agenda for today EiffelStudio: The ISE Eiffel environment Project presentation
Chair of Software Engineering OOSC - Summer Semester The project Project To Be Announced 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
Chair of Software Engineering OOSC - Summer Semester 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)
Chair of Software Engineering OOSC - Summer Semester End of lecture 2