software engineering in the academy l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Engineering in the Academy PowerPoint Presentation
Download Presentation
Software Engineering in the Academy

Loading in 2 Seconds...

play fullscreen
1 / 10

Software Engineering in the Academy - PowerPoint PPT Presentation


  • 228 Views
  • Uploaded on

Software Engineering in the Academy Bertrand Meyer IEEE Computer, May 2001 Definitions of SE The body of methods, tools and techniques intended to produce quality software.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Engineering in the Academy' - JasminFlorian


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software engineering in the academy

Software Engineeringin the Academy

Bertrand Meyer

IEEE Computer, May 2001

definitions of se
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.
goals
Goals
  • How to instill software engineering concerns into an entire software curriculum.
    • Principles
    • Practices
    • Applications
    • Tools
    • Mathematics
the principles what software professionals know
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.
the principles what software professionals know5
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.
the principles what software professionals know6
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.
practices
Practices
  • Configuration management
  • Project management
  • Metrics
  • Ergonomics and user interfaces
  • Documentation
  • User interaction
  • High-level system analysis
applications
Applications
  • Includes traditional areas:
    • Compilers, operating systems, data bases, numerical computing, etc.
tools
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.
mathematics
Mathematics
  • Programming and programming languages are mathematical beasts!