Applications Generation

  • Applications generation revolves around the processes needed to develop and maintain computer software.

  • It involves a variety of tasks, including coding, testing, debugging, documenting, and maintenance tasks.

  • There are different types of application generation methods - low-level (manual coding) and high-level (automatic code generation).

  • Low-level generation involves manually writing code line by line and requires a high level of skill in a particular programming language. This method allows for greater control and optimisation.

  • High-level generation utilises system generator software to automatically create code. It generally requires less technical expertise and mainly deals with the design and logic of the application.

  • High-level application generation is divided into three modules: Data Dictionary, System Generator, and Application Generator.

  • The data dictionary holds all the data about the application such as field lengths, names, formats, and validation rules.

  • System generator looks at this data to produce a system that functions according to these specifications.

  • The application generator, the part the user interacts with, is produced by combining the outputs from the system generator with the user interface.

  • One key advantage of high-level generation is its speed and efficiency in generating software quickly. This often results in considerable time savings.

  • High-level generation also allows for easier maintenance and updating of the application, as changes can be made to the original design specifications and a new version can be generated automatically.

  • However, a significant drawback of high-level generation is that it may lead to inefficient code and can limit the control programmers have over the final product.

  • For complex applications that require special functionalities and optimisations, low-level generation is generally preferred.

  • Testing is an integral part of applications generation. The purpose of testing is to identify and resolve any glitches or problems that may impact how the application functions.

  • Documentation is also a fundamental part of application generation. Good documentation helps future developers understand the structure and flow of the application allowing easier maintenance and modifications.

  • Continuous maintenance after the application is deployed is crucial to fix bugs, add new features, and ensure that the application remains functional and relevant.

  • Understand the importance of applications generation in the context of software engineering, as it signifies how software is structured, created, and maintained.