The document outlines the design model in software engineering, focusing on the design process, quality, and various design elements such as data, architectural, interface, component-level, and deployment-level designs. It emphasizes the two dimensions of the design model: process and abstraction, and discusses the iterative refinement of UML diagrams from analysis to design. Additionally, it highlights the importance of architectural styles, patterns, and the structured approach to interface and component-level design.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
31 views23 pages
Unit 3 Archiectural Design Model
The document outlines the design model in software engineering, focusing on the design process, quality, and various design elements such as data, architectural, interface, component-level, and deployment-level designs. It emphasizes the two dimensions of the design model: process and abstraction, and discusses the iterative refinement of UML diagrams from analysis to design. Additionally, it highlights the importance of architectural styles, patterns, and the structured approach to interface and component-level design.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23
B.Tech II year II semester R22 Regulation.
Course code : 22CS254
SOFTWARE ENGINEERING Topic: Design model
Dr. M. Swami Das
Associate Professor Dept. of CSE CVR COLLEGE OF ENGINEERING (AUTONOMOUS) HYDERABAD
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 1
UNIT -III Unit - III Design Engineering: Design process and design quality, design concepts, the design model. Creating an architectural design: software architecture, data design, architectural styles and patterns, architectural design, conceptual model of UML, basic structural modeling, class diagrams, sequence diagrams, collaboration diagrams, use case diagrams, component diagrams.
03/04/2025 IV B Tech WSCC- CVRCE - by Dr. M Swami Das 2
Design Model Data Design Elements 8.4.2 Architectural Design Elements 8.4.3 Interface Design Elements 8.4.4 Component-Level Design Elements 8.4.5 Deployment-Level Design Elements
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 3
• The design model has two dimensions: 1.Process Dimension – Represents the evolution of the design model as design tasks progress in the software process. 2.Abstraction Dimension – Indicates the increasing level of detail as analysis model elements are transformed into design equivalents and refined iteratively. • The transition from analysis to design can be either distinct or gradual, depending on the project. UML diagrams used in analysis are refined in design to include more implementation details, architectural structure, components, and interfaces. 03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 4 Dimensions of the design model •h
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 5
Software design Model
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 6
• Model elements along the horizontal axis are not always developed sequentially. Typically, architectural design comes first, followed by interface and component-level design, which often proceed in parallel. The deployment model is usually addressed later. • Design patterns can be applied at any stage, helping to solve domain- specific problems by leveraging established design knowledge.
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 7
8.4.1 Data Design Elements • Data design, or data architecting, creates a high-level data model based on user needs, which is then refined into implementation-specific forms for processing. The structure of data significantly influences software architecture. • At different levels: • Program Component Level – Designing data structures and algorithms ensures high-quality applications. • Application Level – Converting data models into databases supports business objectives. • Business Level – Organizing disparate data into a data warehouse enables data mining and knowledge discovery, impacting business success. • Data design is a critical aspect of software engineering 03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 8 Three tier architecture
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 9
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 10 8.4.2 Architectural Design Elements • Architectural design in software is similar to a house floor plan, providing an overall view of the system’s structure, components, and their relationships. • The architectural model is derived from three sources: 1.Application Domain Knowledge – Understanding the context of the software. 2.System Requirements – Defining necessary structural elements and behaviors. 3.Architectural Styles & Patterns – Using established design approaches for efficiency. • The architecture is typically represented as interconnected subsystems, often based on analysis packages from the requirements model. Each subsystem may have its own architecture, such as a dedicated structure for a graphical user interface 03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 11 8.4.3 Interface Design Elements • Interface design in software is like detailed drawings for a house’s doors, windows, and utilities, defining how information flows into, out of, and within the system. • Key elements of interface design: 1.User Interface (UI) – Focuses on usability, aesthetics, ergonomics, and technical aspects. It is often a distinct subsystem in the architecture. 2.External Interfaces – Connects the system to other devices, networks, or applications. Requires thorough requirements gathering and security/error handling. 3.Internal Interfaces – Enables communication between software components, ensuring proper messaging and data flow. 03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 12 Interface representation for control panel
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 13
Interface Example.ATM.
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 14
• Interfaces in UML define publicly visible operations of a class without specifying internal structure. • For example, in a security system, a ControlPanel class implements a KeyPad interface, allowing interaction via devices like a mobile phone or PDA. • UML notation shows this relationship using realization, meaning a class provides defined interface operations to other components
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 15
8.4.4 Component-Level Design Elements Component-level design in software is like detailed room specifications in a house, defining wiring, plumbing, and every functional detail. It fully describes each software component’s internal structure, including: •Data structures for local data objects. •Algorithmic details for component processing. •Interfaces that provide access to component operations. In object-oriented design, components are represented in UML. For example, the SensorManagement component in a security system manages sensors and connects to a Sensor class. Different levels of abstraction can model component details, such as: •UML activity diagrams for processing logic. •Pseudocode or flowcharts for procedural flow. •Programming language-based modeling for data structures. These ensure structured andSOFTWARE 03/04/2025 efficient software ENGINEERING by Dr. M Swamidesign. Das 16 ATM component diagram
• ex
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 17
UML component diagram
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 18
UML deployment diagram
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 19
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 20 8.4.5 Deployment-Level Design Elements • Deployment-level design defines how software functionality is distributed across the physical computing environment. For example, the SafeHome system operates within a home PC, a control panel, and a remote server. • A UML deployment diagram is created and refined to illustrate: • Computing environments (e.g., PC, control panel, server). • Subsystems housed within each environment (e.g., security, surveillance, communications). • The initial diagram is in descriptor form, showing general computing environments without specifying hardware details. Later, in instance form, specific configurations (e.g., Mac, Windows PC, Linux server) are defined as design progresses. 03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 21 ATM class diagram
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 22
ATM sequence diagram
03/04/2025 SOFTWARE ENGINEERING by Dr. M Swami Das 23