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

Slides:



Advertisements
Similar presentations
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
Advertisements

Business Development Suit Presented by Thomas Mathews.
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Copyright  Oracle Corporation, All rights reserved. 1 Creating an Application: The AppBuilder for Java IDE.
Chair of Software Engineering Concurrent Object-Oriented Programming Prof. Dr. Bertrand Meyer Exercise Session 1: Eiffel Introduction.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
TEA/TUG + ALDOT(Mobile) = H(O+I) The TEA/TUG being hosted by ALDOT in Mobile causes Hurricanes to come to Alabama. The TEA/TUG being hosted by ALDOT in.
© by Pearson Education, Inc. All Rights Reserved.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 10: Project Presentation Ilinca.
IEG3080 Tutorial 7 Prepared by Ryan.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 2.
Chair of Software Engineering 1 Introduction to Programming Bertrand Meyer Exercise Session 3 29 September 2008.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 4: The Interface of a Class.
Design Patterns. What are design patterns? A general reusable solution to a commonly occurring problem. A description or template for how to solve a problem.
1 Chapter 4 The Fundamentals of VBA, Macros, and Command Bars.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 4: The Interface of a Class.
Eclipse Introduction Dwight Deugo Nesa Matic
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 5: Project and EiffelStudio Presentation.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 14: Presentation of EiffelStudio.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chair of Software Engineering ATOT - Lecture 1, 31 March Advanced Topics in Object Technology Bertrand Meyer.
1 Software Reuse in Eclipse Kellie-Ann Smith Norgye Yuanyuan Song Xiang Yin Jia Xu.
 Definition of HTML Definition of HTML  Tags in HTML Tags in HTML  Creation of HTML document Creation of HTML document  Structure of HTML Structure.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
A First Program Using C#
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
WorkPlace Pro Utilities.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Using Styles and Style Sheets for Design
Microsoft Excel 2007 © Wiley Publishing All Rights Reserved. The L Line The Express Line to Learning L Line.
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 2.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Fourth R Inc. 1 WELCOME TO MICROSOFT OFFICE PROJECT 2003 INTRODUCTORY COURSE.
Selected Topics in Software Engineering - Distributed Software Development.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
Design Patterns CSIS 3701: Advanced Object Oriented Programming.
Nucleus BridgePoint Roadmap Bill Tanner Engineering Manager.
Creational Patterns
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Design Patterns Introduction
The business logic engine for Microsoft IIS Speaker T.M. Arnett.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
15 Copyright © 2004, Oracle. All rights reserved. Debugging Triggers.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
COMP 143 Web Development with Adobe Dreamweaver CC.
Wednesday NI Vision Sessions
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Lesson 11 Exploring Microsoft Office 2007
Chapter 2: The Visual Studio .NET Development Environment
Working in the Forms Developer Environment
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Chapter 10 Design Patterns.
Social Media And Global Computing Introduction to Visual Studio
Lecture Set 3 Introduction to Visual Basic Concepts
Einführung in die Programmierung Introduction to Programming Prof. Dr
Software Engineering and Architecture
Presentation transcript:

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

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

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

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

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

Chair of Software Engineering ATOT - Lecture 2, 2 April Material available online  Guided tour:

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

Chair of Software Engineering ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April The compiler  Fast  Produces efficient code  Supports.NET  Project Settings Tool

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

Chair of Software Engineering ATOT - Lecture 2, 2 April  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 ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April The Diagram tool  Provides “Real time” roundtrip reverse engineering  Synchronized at each compilation  Allows for different views

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

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

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

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

Chair of Software Engineering ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April EiffelStudio  Introduction to the IDE  The Diagram Tool  Documentation generation  Debugging  Demo

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

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

Chair of Software Engineering ATOT - Lecture 2, 2 April 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

Chair of Software Engineering ATOT - Lecture 2, 2 April 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.)

Chair of Software Engineering ATOT - Lecture 2, 2 April 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 ATOT - Lecture 2, 2 April 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

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