Method (software engineering)
As a method - "literal meaning: the way to something" (Duden) - one describes in computer science and software technology a "systematic, goal-oriented approach, as well as a planned procedure which leads to a meaningful solution for a large number of problems" and / or " practiced or formalized processes that have proven to be appropriate and successful ”. For almost all areas of the software development process, there are special methods that can guide and support those involved in the process.
Methods for software development are often bundled by higher-level method packages and can thus be used as integrated and consistently as possible. Several methods were combined or specified in the Rational Unified Process (RUP); they are used in particular in object-oriented programming . Other known methods have been summarized by Extreme Programming (XP).
The application of methods and the use of development tools can be more or less mutually dependent. For example, a code generator will be geared directly to the code design methods provided in it, or software for project planning, for example, to network technology . Other methods are rarely tool-related (e.g. code review) or can be edited with any suitable tools (e.g. spreadsheet , word processing , graphics software, etc.), possibly with the use of design templates .
Methods whose use requires comparatively little organizational effort with comparatively high benefits are referred to as agile methods .
Difference to technology : "Technology is used in a more concrete, more manual sense [...] '= known how' [...] while methods [...] relate to [...] '= knowledge of why' [ ...] exhibit".
Examples
Some examples of software development methods are:
- Story cards
- Refactoring
- Test-driven development
- Pair programming
- Test methods - many different
- Code review
- Use case analysis
- CRC cards (Class Responsibility Collaboration Cards)
- Pattern-driven development (search for the applicability of design patterns )
- Object orientation (actually not a method, but a principle, a programming paradigm )
- Standardized programming
- Function point method (basis for cost estimates )
- Data modeling - various approaches such as ERM
- Requirements engineering - techniques for determining requirements
Different procedural models and software development processes are based on a different selection of methods. Some methods can be broken down into smaller sub-methods.
Individual evidence
- ↑ a b c Duden Informatik, ISBN 3-411-05232-5