Topic > Principles of Software Engineering: Questions and Answers

1. Four Laws for Software Development Methodology - • Glass's Law - (Requirements deficiencies are the main source of project failure) This law explains the properties that a software development system should have during software development. The requirements phase collects information that helps in the next phase of software engineering (software development). The requirements phase determines that all questions start from W, such as after final development, where the final product will be used, what kind of users use it, and what features or services it should provide. It is imperative to continue to review and update requirements until the appropriate requirements are finalized. Inadequate, incomplete, or non-relative data or requirements information can generate errors in subsequent project development phases. The main cause behind incorrect requirements definitions are the distinct needs of different user groups and the difference between their interests. (santhoshgoud, 2010) For example, let's say we are developing software for the elderly and, by unknowingly or improperly defining the requirements, we insert dark colors and small fonts that cause problems for users (elderly) in using this final product and lead to conflicts. • Boehm's First Law-(Errors are more frequent during requirements and design activities and are more costly the later they are removed) Generally this law describes that the development of any proposed design can lead to errors and conflicts. To avoid these errors it is better to check and remove them by updating each development stage early rather than finding and fixing a problem later in the later stages. In terms of all constraints and factors, it is convenient, inexpensive and time-saving to fix errors in the early stages rather than searching for and fixing errors in the late stages of development, which leads to high and time-consuming project development costs of time. (santhoshgoud, 2010) For example, there is a group of users who ordered to develop a project of a travel system for seniors and by mistake or mistake at the requirements stage the age group was noted as a travel system group trip for youth, then using these requirements once the final project is developed and checked, realizes that this project does not match the user's requirements, which leads to developing the project again from the initial stage, which increases the costs and the use of time. • Boehm's Second Law: (Prototyping (significantly) reduces requirements and design errors, especially for user interfaces) This law states that it is best and most useful to make a prototype of a project or system that is to be developed.