Sie sind auf Seite 1von 25

Software development tools

software engineering
1. 2.

Development of procedures and Systematic applications that are used on electronic machines. Software engineering incorporates various accepted methodologies to design software. This particular type of engineering has to take into consideration what type of machine the software will be used on, how the software will work with the machine, and what elements need to be put in place to ensure reliability.

Software development tools


This

software development tools directory contains software tools related to all areas of software development: programming editors and frameworks (Java, .NET, PHP, C#, JavaScript, Ruby, Ajax, etc.), project management, UML, software testing, databases, configuration management, etc. Submit your software development tools after registration. Descriptions can be edited by the webmaster. All product and company names may be trademarks of their respective owners.

History of software engineering tools


Software

engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders, etc. the software NEEDED to build code. Computers werent powerful enough or advanced yet to support higher-level functioning

History of software tools


The

history of software tools began with the first computers in the early 1950's that used linkers, loaders, and control programs. Tools became famous with Unix in the early 1970s The term "software tools" came from the book of the same name by Brian Kernighan and P. J. Plauger.

But now
Software

engineering often follows specific standardized methods There are lots of diagrams and documentation involved So now computers can be used to deal with the higher-level aspects of software engineering

Upper and Lower CASE


Upper

CASE: Tools for the analysis and design phase of the software development lifecycle (diagramming tools, report and form generators, analysis tools) Lower CASE: Tools to support implementation, testing, configuration management

Representative tools: Editors


Textual

or graphical Can follow a formal syntax, or can be used for informal text or free-form pictures Monolingual (e.g., Java editor) or multilingual

Representative tools: Software testing


Tools Tools Tools

for test data derivation for test evaluation for testing other software qualities

e.g., synthesizing data from path condition


e.g., various coverage metrics

Computer Aided Software Engineering


What

is a CASE Environment?
is a CASE Tool?

CASE is the use of computer-based support in

the software development process.

What

A CASE tool is a computer-based product aimed

at supporting one or more software engineering activities within a software development process.

Goal of using CASE tools


Supply

basic functionality, do routine tasks automatically


Be able to support editing of code in the particular programming language, supply refactoring tools

Enhance Increase

productivity

Generate code pieces automatically

software quality Intuitive use Integration with other tools


For example, code editor works with code repository

What could be called a CASE tool?


Project

management software System design tools Code storage Compilers Translation tools Test software

But generally
Code

generation tools (Visual Studio .NET) Code analysis (Borland Audits) Development of data models (UML editors) Cleaning up code (refactoring tools) Bug tracker Version control (CVS, etc.)

They do THAT?
CASE

tools do more than just output code Can be used to generate SE documents
Database schema Data flow diagrams Entity relationship diagrams Program specifications User documentation

Class Diagrams

State Chart

Testing

programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object.

Tools

were originally simple and light weight. As some tools have been maintained, they have been integrated into more powerful integrated development environments (IDEs). These environments consolidate functionality into one place, sometimes increasing simplicity and productivity, other times sacrificing flexibility and extensibility.

List of tools
Unified Modeling Language

Agile

software development

Programing tools

Agile
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between selforganizing,cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a timeboxed iterative approach, and encourages rapid and flexible response to change. The Agile Manifesto[1] introduced the term in 2001. Agile management methods can also be applied in other development projects than software development.[citation needed]

Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. In rapid application development, structured techniques and prototyping are especially used to define users' requirements and to design the final system.

Unified Modeling Language


Unified

Modeling Language (UML) is a standardized general-purpose modeling language in the field of objectoriented software engineering includes a set of graphic notation techniques to createvisual models of objectoriented software-intensive system

UML

Integrated development environment

An integrated development environment (IDE) (also known as integrated design environment, integrated debugging environment or interactive development environment) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of: a source code editor a compiler and/or an interpreter build automation tools a debugger

Software development methodology


A

software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.

programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object.