Software Architecture Bertrand Meyer ETH Zurich, April-July 2006 - - PowerPoint PPT Presentation

software architecture bertrand meyer
SMART_READER_LITE
LIVE PREVIEW

Software Architecture Bertrand Meyer ETH Zurich, April-July 2006 - - PowerPoint PPT Presentation

1 Last update: 5 April 2006 Software Architecture Bertrand Meyer ETH Zurich, April-July 2006 Lecture 1: Introduction Chair of Softw are Engineering Software Architecture - Lecture 1 Goal of the course 2 Enabling you to master techniques


slide-1
SLIDE 1

Software Architecture - Lecture 1

1

Chair of Softw are Engineering

Last update: 5 April 2006

Software Architecture Bertrand Meyer

ETH Zurich, April-July 2006

Lecture 1: Introduction

slide-2
SLIDE 2

Software Architecture - Lecture 1

2

Chair of Softw are Engineering

Goal of the course

Enabling you to master techniques for building and enhancing successful software systems of large size and industrial quality This includes in particular:

  • The move from programming to software engineering
  • Principles of software engineering and in particular

software quality

  • Object technology principles and methods; the practice of
  • bject-oriented analysis, design and implementation
  • Design patterns
  • Principles of building reusable software
slide-3
SLIDE 3

Software Architecture - Lecture 1

3

Chair of Softw are Engineering

Five key topics

Abstract Data Types Advanced Object Technology techniques Design Patterns Component-Based Development Integrated Development Environments (IDEs)

slide-4
SLIDE 4

Software Architecture - Lecture 1

4

Chair of Softw are Engineering

Teaching staff

slide-5
SLIDE 5

Software Architecture - Lecture 1

5

Chair of Softw are Engineering

Bertrand Meyer

E-mail: Bertrand.Meyer@inf.ethz.ch Office: RZ J6 Secretary: Claudia Günthart, (01) 632 83 46

slide-6
SLIDE 6

Software Architecture - Lecture 1

6

Chair of Softw are Engineering

Exercise sessions

All groups have one session a week:

  • Tuesday, 14:00 – 15:00

Registration in a few moments

slide-7
SLIDE 7

Software Architecture - Lecture 1

7

Chair of Softw are Engineering

The assistants

Bernd Schoeller (Coordinating Assistant) Volkan Arslan German Till Bay German (French) Ilinca Ciupa English Martin Nordio English Stephan Classen <classens@student.ethz.ch> (Hilfsassistent) German Florian Geldmacher <florian@womaro.ch> (Hilfsassistent) German

slide-8
SLIDE 8

Software Architecture - Lecture 1

8

Chair of Softw are Engineering

Practical information

slide-9
SLIDE 9

Software Architecture - Lecture 1

9

Chair of Softw are Engineering

Course material

Course page: http://se.inf.ethz.ch/teaching/ss2006/0050/ Check it at least twice a week Lecture material:

Lecture slides Textbook:

Object-Oriented Software Construction, 2nd edition -- Prentice Hall, 1997 Available from Polybuchhandlung Sold during the break next week (≈ CHF 63 with Legi) Exercise material:

Exercise sheets Master solutions

slide-10
SLIDE 10

Software Architecture - Lecture 1

10

Chair of Softw are Engineering

Electronic forums

Discussion forums: Inforum: http://forum.vis.ethz.ch Mailing list for each group Advice and rules: Use the forums and mailing lists! Take advantage of every help you can get. Don’t be shy. There are no stupid questions. Criticism welcome, but always be polite to every participant and observe the etiquette. To email the whole teaching team (professor and assistants): soft-arch-assi@se.inf.ethz.ch

slide-11
SLIDE 11

Software Architecture - Lecture 1

11

Chair of Softw are Engineering

Exercise sessions and project

Make sure to attend all sessions Exercise sheets will be distributed by your assistant during the exercise session Do all exercises and the project

slide-12
SLIDE 12

Software Architecture - Lecture 1

12

Chair of Softw are Engineering

Exercises, “Testat” regulations (tentative)

“Testat”: Needed for admittance to the exam. Exercises:

6 project milestone exercises Project documentation Project presentation

To get the “Testat” you need to have done at least:

5 project milestone exercises Project documentation Project presentation Must show serious effort to address the questions Must have filled out questionnaire

Military services or illness contact your assistant.

slide-13
SLIDE 13

Software Architecture - Lecture 1

13

Chair of Softw are Engineering

Programming environment

EiffelStudio download: http://www.eiffel.com/downloads/ Free version available for Windows, Linux and MacOS

slide-14
SLIDE 14

Software Architecture - Lecture 1

14

Chair of Softw are Engineering

Exam: end of sem ester

Wednesday, 5 July 2006, 8-10 (normal class time) 2-hour exam No material allowed Covers all material in the semester

slide-15
SLIDE 15

Software Architecture - Lecture 1

15

Chair of Softw are Engineering

The project

Integral part of the course Project is EiffelStudio-oriented (Other possibility: Traffic-related project) Public presentation: 28 June, main hall of HG Large groups: two per assistant group

Must organize yourselves All functions represented: developers, team leader,

quality assurance, documentation, …

slide-16
SLIDE 16

Software Architecture - Lecture 1

16

Chair of Softw are Engineering

And now for the real news…

EiffelStudio history:

1986 First Eiffel compiler (Eiffel 1) by Eiffel Software

Command-line compiler

1988 Eiffel 2

Constrained genericity, exceptions, assignment attempt…

1990 First DOS implementation (Object Tools) 1993 Eiffel 3

Infix features, expanded classes… Graphical environment: EiffelBench Eiffel: The Language

1997 Eiffel 4

Precursor mechanism EiffelBench becomes EiffelStudio

1999 Eiffel 5

Tuples, agents… Free version

2005 ECMA standard 367

Attached types, …

slide-17
SLIDE 17

Software Architecture - Lecture 1

17

Chair of Softw are Engineering

Other milestones

Object-Oriented Software Construction 1st edition, 1988 2nd edition, 1997 ECMA International, Standard 367 Eiffel: Analysis, Design and Programming Language 21 June 2005 ISO (International Standards Organization) Revision of ECMA standard Expected April 2006

slide-18
SLIDE 18

Software Architecture - Lecture 1

18

Chair of Softw are Engineering

Some Eiffel projects

Axa Rosenberg Investment management: from $2 billion to >$40 billion 2 million lines of Eiffel Chicago Board of Trade Price reporting system Eiffel + CORBA + Solaris + Windows + … Boeing (Xontech) Large-scale Eiffel simulations of missile defense system Swedish social security: accident reporting & management

slide-19
SLIDE 19

Software Architecture - Lecture 1

19

Chair of Softw are Engineering

The news: Open-Source EiffelStudio

Full technology will be available in dual licensing Open-Source version will be under GPL; applies to generated code as well Will be hosted at ETH: Origo server When and who?

slide-20
SLIDE 20

Software Architecture - Lecture 1

20

Chair of Softw are Engineering

The news: Origo

Till Bay Environment under construction for distributed, cooperative, professional software development

slide-21
SLIDE 21

Software Architecture - Lecture 1

21

Chair of Softw are Engineering

Key URLs

http://eiffelsoftware.origo.ethz.ch

  • - Project web page

https://eiffelsoftware.origo.ethz.ch/svn/es

  • - Anonymous Subversion checkout
slide-22
SLIDE 22

Software Architecture - Lecture 1

22

Chair of Softw are Engineering

The course projects

EiffelStudio-related:

Build tool Mac OSX release and installer Port to new platforms (Mac OSX

Intel, OpenBSD…)

Integrated support for

configuration management

New refactoring support Unicode support/improvements IDE improvements (see assistant) Direct code checking (“red

squiggly underlines)

Integrated learning support Extended static checking

(difficult!)

Others (see assistant)

Traffic-related:

  • Streets and cars (traffic

lights, speed limits…)

  • People with schedules for their

day and first person view for traveling

  • Real buildings (Migros,

Churches, Hauptbahnhof…)

  • Schedules for buses, trams

etc., read from the Internet

  • Topological information: river,

lake, mountains, boats, parks…

slide-23
SLIDE 23

Software Architecture - Lecture 1

23

Chair of Softw are Engineering

This is a software architecture project

Design quality is essential Large-group projects: must be organized like an industrial project Configuration management Documentation Quality standards (analysis, design, implementation) Should be useful (“Eat your own dog food! ”)

slide-24
SLIDE 24

Software Architecture - Lecture 1

24

Chair of Softw are Engineering

The public presentation

June 29th, Hauptgebäude All projects will be demonstrated The best projects will be selected for presentation The best of the best will be included in future releases of Open-Source EiffelStudio

slide-25
SLIDE 25

Software Architecture - Lecture 1

25

Chair of Softw are Engineering

Next week (12 April)

Emmanuel Stapf, EiffelSoftware EiffelStudio code walkthrough!

slide-26
SLIDE 26

Software Architecture - Lecture 1

26

Chair of Softw are Engineering

The Big Red Button

http://origo.ethz.ch/unlock-eiffel/

slide-27
SLIDE 27

Software Architecture - Lecture 1

27

Chair of Softw are Engineering

End lecture 1