DESIGN
DESIGN the path forward based on the learning and analysis that you’ve done. Your solution should be the best path forward and it should encompass scaling for growth and future changes caused by the unknown.
DESIGN the: to be solution, will be solution, and should be solution
Design, focusing on Outcome Attainment
The design of the overall deliverable is a make or break point that sets the tone for the output and value that is to be delivered to the end user/customer. Until now we have been solely focused on discovery related work: Understand, learn, evaluate, assess and define. We are now positioned to being solutioning. your solution can have many artifacts as outputs, ERD diagrams, Logical design, physical design Conceptual design, etc. From my experience the Logical Design is the artifact that guides the rest of the artifacts, as well as informs various resources on how things should be done directionally.
Conceptual Design
conceptual design refers to the initial stage of the design process where ideas and concepts are generated and evaluated. The main goal of conceptual design is to define the problem and identify potential solutions.
Conceptual design involves brainstorming, sketching, and creating rough prototypes or models. The design team may use techniques such as mind mapping, sketching, or brainstorming sessions to generate ideas and concepts.
The output of the conceptual design stage is typically a set of design concepts or alternatives that are evaluated and refined through further analysis and testing. This may include cost-benefit analysis, feasibility studies, and user testing.
Conceptual design is an essential part of the product development process as it helps to ensure that the final product meets the needs of its intended users and that it can be manufactured or built within the constraints of the project. It also helps to identify potential risks and challenges that may arise during the design and implementation process.
Examples of conceptual design for product development include illustrating or designing a new user experience, creating a new smartphone, or developing a website proof of concept.
Architectural Design
architectural design refers to the process of defining the overall structure, components, and interactions of a software system. It is a high-level view of the system that describes its fundamental organization and design principles.
Architectural design in software engineering typically involves identifying the key components of the system, defining their relationships and interactions, and creating a blueprint or plan for how the system will be developed and implemented.
The architectural design phase typically follows the requirements gathering and analysis phase and precedes the detailed design and implementation phase. During this phase, architects and software engineers work together to define the system’s architecture, including its layers, modules, and interfaces.
Architectural design in software engineering is important because it ensures that the system meets its functional and non-functional requirements, such as performance, scalability, and maintainability. It also helps to identify potential risks and challenges that may arise during the development and implementation process.
Examples of architectural design are inclusive of designing a new enterprise application, creating a new web-based platform, or developing a new mobile application. It is an essential part of the overall software development process, and careful attention to architectural design can result in software systems that are both functional and maintainable.
Sample Architectural Design
Logical Design
logical design refers to the process of creating a conceptual representation of the system’s architecture and functionality. This is done before any physical implementation takes place.
Logical design focuses on the functional requirements of the system, such as data flow, data storage, and system processes. It typically involves creating diagrams, flowcharts, and models that describe how the system will operate and interact with other systems or components.
The logical design phase is important because it ensures that the system will meet the requirements of its intended users and that the system can be implemented in a technically feasible and cost-effective manner. It provides a high-level overview of the system’s architecture and functionality, which is used to guide the physical design and implementation phases.
Examples of logical design include designing a database schema, creating a network topology, or developing a software system architecture. Logical design is an essential step in the overall system development life cycle, as it lays the foundation for the actual implementation and deployment of the system.
Sample Logical Design
Below is a sample logical design that we use throughout this course and is discussed in the course videos. This Logical design is generic for a fortune 500 company and illustrates the system flow from OLTP systems to OLAP systems.
Physical Design
physical design refers to the process of creating a physical object or system, typically through the use of drawings, specifications, and computer-aided design (CAD) tools.
Physical design involves taking a conceptual design or idea and transforming it into a tangible product or system that can be manufactured, assembled, and used. This process typically involves designing individual components, specifying materials and manufacturing processes, and creating detailed drawings or 3D models that can be used to create prototypes or final products.
Physical design is a critical part of the product development process as it ensures that the product meets the required specifications and can be manufactured at scale with high quality and efficiency. It is used in a wide range of industries, including manufacturing, engineering, architecture, and construction.