Process of design
In terms of software engineering, design can be described as a process to overcome problems that can arise within the proposed system’s functional requirements and the constraints set to ensure quality. All these problems must then be solved whilst keeping in mind the 11 principles of software design.
Underneath the overlying problem lies a set of sub-problems that exist within the proposed system design. It can be said that these sub-problems are a series of decisions, where it can have a multitude of alternative solutions in order to solve said problem. The engineer must decide on which solution is best to overcome the problem. Whilst choosing on which solution is best, the engineer …show more content…
As a general rule, it is better to not use technologies and languages that are not in its early stages where flaws are rampant. Instead, it is better to utilize well-established technologies to ensure the survivability of the product.
Design for Portability
By designing the software to be as portable as possible, this can also avoid the obsolescence of the software. What this means is that, through being portable the software can be executed within multiple environments which can ensure the survivability of the software.
Design for Testability
It is crucial to design systems where testing can be done easier. This saves both time and money as it means that the software can be tested relatively quickly, meaning that deadlines can be met much quicker. Furthermore, designing a program to automate the testing of the software can further reduce the time required to test an almost complete product.
Design …show more content…
It helps aid the design of a system as it can outline the requirements and the items that need to be developed in order to fully satisfy the requirements. Documentation allows for the review of the overall system design, through peer-review of system design, it can help improve the system as whole because errors and mistakes are picked up and fixed. A structure is also required to write a design document, often the structure can be outlined into 5 items, namely:
• Purpose – how requirements are implemented
• Priorities – objectives and goals of the system
• Outline – high-level design abstracts of the overall system
• Design Issues – problems that need to resolved, solution taken, then why it was taken
• Other Details
It is also necessary to avoid detailing unnecessary information as it can hinder the process. Information such as obvious information or writing details that can be extracted from the code should be avoided.
Difficulties and Risks in