Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering in the Academy

Similar presentations


Presentation on theme: "Software Engineering in the Academy"— Presentation transcript:

1 Software Engineering in the Academy
Bertrand Meyer IEEE Computer, May 2001

2 Definitions of SE The body of methods, tools and techniques intended to produce quality software. The development (management, maintenance, validation, etc.) of possibly large systems intended for use in production environments, over possibly a long period, worked on by possibly many people, and possibly undergoing many changes.

3 Goals How to instill software engineering concerns into an entire software curriculum. Principles Practices Applications Tools Mathematics

4 The Principles: What Software Professionals Know
Abstraction: separate essential from the auxiliary. Distinction between specification and implementation: confusing in software. Recursion: apply definition to some of its parts: classes, grammers, functions, etc. Information hiding: what you export and what you hide.

5 The Principles: What Software Professionals Know
Reuse: when to rely on someone else’s job. Battling complexity: recognize simplicity in an apparent mess. Scaling up: which techniques will scale up? Designing for change: change process can be painful, especially for large systems. Classification: class hierarchies.

6 The Principles: What Software Professionals Know
Typing: study of type systems for safe construction of software. Contracts: pre and post conditions and invariants. Exception handling. Errors and debugging.

7 Practices Configuration management Project management Metrics
Ergonomics and user interfaces Documentation User interaction High-level system analysis

8 Applications Includes traditional areas:
Compilers, operating systems, data bases, numerical computing, etc.

9 Tools Choose a few programming languages and implementations and help students to understand them in depth. Educators are responsible for choosing the appropriate tools on the basis of their best professional assessment of student’s interests over the course of a career.

10 Mathematics Programming and programming languages are mathematical beasts!


Download ppt "Software Engineering in the Academy"

Similar presentations


Ads by Google