Object-Oriented Software...

Post on 26-Aug-2020

2 views 0 download

Transcript of Object-Oriented Software...

OOSC - Summer Semester 2004

1

Chair of Software Engineering

Object-Oriented Software Construction

Bertrand Meyer

OOSC - Summer Semester 2004

2

Chair of Software Engineering

Lecture 2:

EiffelStudio and project presentation

OOSC - Summer Semester 2004

3

Chair of Software Engineering

Agenda for today

EiffelStudio: The ISE Eiffel environment

Project presentation

OOSC - Summer Semester 2004

4

Chair of Software Engineering

Agenda for today

EiffelStudio: The ISE Eiffel environment

Project presentation

OOSC - Summer Semester 2004

5

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

6

Chair of Software Engineering

Material available online

Guided tour:

http://se.inf.ethz.ch/teaching/ss2004/0250/readings/eiffel_studio_presentation.pdf

OOSC - Summer Semester 2004

7

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

8

Chair of Software Engineering

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

OOSC - Summer Semester 2004

9

Chair of Software Engineering

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)

OOSC - Summer Semester 2004

10

Chair of Software Engineering

The compiler

Fast Produces efficient code Supports .NET Project Settings Tool

OOSC - Summer Semester 2004

11

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

12

Chair of Software Engineering

Class types:

Cluster:

A quick run through BON

*DEFERRED

+EFFECTIVE

●PERSISTENT

▲INTERFACED REUSED ROOT_CLASS

ROOT_CLUSTER

▲INTERFACED

OOSC - Summer Semester 2004

13

Chair of Software Engineering

A quick run through BON (cont’d)

Inheritance link:

Client links:+

EFFECTIVE

*DEFERRED

ROOT_CLASS REUSED

ROOT_CLASS REUSED

f

expanded_f

OOSC - Summer Semester 2004

14

Chair of Software Engineering

The Diagram tool

Provides “Real time” roundtrip reverse engineering Synchronized at each compilation Allows for different views

OOSC - Summer Semester 2004

15

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

16

Chair of Software Engineering

Documentation generation

Multiple predefined formats Extendible formats Extremely powerful HTML generation with

clickable diagrams

OOSC - Summer Semester 2004

17

Chair of Software Engineering

Metrics

Hundreds of different metrics available Can be publicized on web sites for future

comparison

OOSC - Summer Semester 2004

18

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

19

Chair of Software Engineering

Getting started with the debugger

The system must be melted/frozen (finalizedsystems cannot be debugged)

Use the Project Settings Tool to specify commandline arguments

Click the launch button

OOSC - Summer Semester 2004

20

Chair of Software Engineering

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

OOSC - Summer Semester 2004

21

Chair of Software Engineering

Running the application

New display of the Development Window to includedebugging information about: The current object (Object Tool) The arguments to the function being debugged (local

variables)

Possibility to control the number of elements the debuggerdisplays for special objects (Arrays, Strings)

Once on a breakpoint: possibility to step over / into / outnext statement

Possibility to interrupt the application at anytime (PauseApplication button or SHIFT+CTRL+F5)

OOSC - Summer Semester 2004

22

Chair of Software Engineering

EiffelStudio

Introduction to the IDE The Diagram Tool Documentation generation Debugging Demo

OOSC - Summer Semester 2004

23

Chair of Software Engineering

Agenda for today

EiffelStudio: The ISE Eiffel environment

Project presentation

OOSC - Summer Semester 2004

24

Chair of Software Engineering

The project

Project To Be Announced

Documentation User guide: how to use the tool Developer guide: description of the

architecture, main classes, limitations, how toextend the tool

Test suite Thorough set of test cases

OOSC - Summer Semester 2004

25

Chair of Software Engineering

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)

OOSC - Summer Semester 2004

26

Chair of Software Engineering

End of lecture 2