According to the IEEE Standard Glossary [1990], design is both "the process of defining the architecture, components, interfaces, and other characteristics of a system or component," and "the result of [that] process." Since designs should be verified to satisfy requirements, this phase uses modeling (e.g., UML), to ensure that all designs can be validated (e.g., simulation). The more formally designs are defined, the fewer potential errors will appear, and the potential for automatic software implementation (e.g., code generation) will be greater. Design reusability is one of the main concerns of software design. Design reusability focuses on various aspects of software patterns, such as architecture, security, concurrency, etc.
When you complete this unit, you will be able to
Updated September 29 2016 by FST Course Production Staff