11
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt

Introduction to Software Engineering · Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department

  • Upload
    vutruc

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Introduction to Software Engineering (2+1 SWS)Winter Term 2009 / 2010 Dr. Michael EichbergVertretungsprofessur Software EngineeringDepartment of Computer ScienceTechnische Universität Darmstadt

Introduction to Software Engineering

Dr. Michael EichbergFachgebiet Software EngineeringDepartment of Computer ScienceTechnische Universität Darmstadt

Computer Aided Software Engineering

|Computer-Aided Software Engineering

CASE tools can lead to significant improvements in software quality and productivity.

•CASE Tools support process activities such as requirements engineering, design, program development and testing.•CASE tools include:• compilers, debuggers, build tools,• integrated development environments• design editors• data dictionaries• tools that support the visualization / comprehension of

existing code• ...

3

|Computer-Aided Software Engineering 4A Classification of CASE tools

• Tools support individual process tasks (e.g. compiling a program)• Workbenches support process phases (e.g. requirements

specification or design) • Environments support a substantial part of the software process.

Ian Sommerville - Software Engineering 8; Addison Wesley 2007 CASE

technology

Tools

Editors Compilers ...

Workbenches

Analysis and Design Programming

Language specific

General purpose

Environments

Intergrated environments

Process-centered

environments

|Computer-Aided Software Engineering

Doors is an example of a requirements management tool for systems and IT applications.www.volere.co.uk/tools.htm has a broad overview of requirements management tools.

5

|Computer-Aided Software EngineeringA subversion Client

6

|Computer-Aided Software EngineeringA File Comparison and Merge Tool

7

|Computer-Aided Software EngineeringThe Eclipse IDE

8

|Computer-Aided Software EngineeringThe XCode IDE

9

|Computer-Aided Software EngineeringThe Reengineering Tool CodeCrawler

10

|

“Computer-Aided Software Engineering

The possibilities for improvements of the software process by CASE tools are limited.

11

Limiting factors:

1.Software engineering is a design activity based on creative thought.

2.Software engineering is a team activity and quite a lot of time is spend on interacting with other team members, which is (still) not well-supported by current CASE tools.(However, recent tools and plug-ins start to offer corresponding support.)