Unit-3 Se
Unit-3 Se
Credits : 03
Examination Scheme
Term Test : 15 Marks
Teacher Assessment : 20 Marks
End Sem Exam : 65 Marks
Total Marks : 100 Marks
Prerequisite:
1. Concepts of Object Oriented Programming & Methodology.
2. Knowledge of developing applications with front end & back end connectivity.
• Course Objectives: To provide the knowledge of Standard Software Engineering discipline.
Unit-III
06 Hrs.
• Design Engineering and Analysis: Design Principles, Design Concepts, Effective Modular
Design-Cohesion and Coupling.
• Translating the requirement models into the design model.
• Designs: Architectural Design, Component Level Design, User Interface Design.
Design Principles
• Principle 4. Interfaces (both internal and external) must be designed with care.
Interfaces connect different parts of a system and allow communication with users or other
systems. Well-designed interfaces ensure smooth interaction, usability, and compatibility.
• Principle 5. User interface design should be tuned to the needs of the end user.
However, in every case, it should stress ease of use.
The user interface should be designed based on what users need and how they interact with
the system. It should always be simple, natural, and easy to use.
• Principle 7. Components should be loosely coupled to one another and to the external
environment.
Components should have minimal dependencies on each other and external systems. This improves
flexibility, scalability, and ease of maintenance.
• Principle 9. The design should be developed iteratively. With each iteration, the designer
should strive for greater simplicity.
Design should be created in steps, improving with each version. Every iteration should aim to
make the design clearer, more efficient, and easier to use.
Design Concepts
Design within the context of Engineering
• Logical Cohesion: Elements perform similar activities but are logically grouped rather than
functionally related.
• Temporal Cohesion: Elements are related in time, meaning they execute together at a
specific point.
Cohesion
• Procedural Cohesion: Elements execute in a specific sequence but are not strongly related
functionally.
• Sequential Cohesion: Output from one part of the module serves as input for another.
The design model can be viewed in two different dimensions illustrated in above figure.
• The process dimension indicates the evolution of
the design model as design tasks are executed as
part of the software process.
• The abstraction dimension represents the level of
detail as each element of the analysis model is
transformed into a design equivalent and then
refined iteratively.
• Referring to Figure, the dashed line indicates the
boundary between the analysis and design
models.
THE DESIGN MODEL
Data Design Elements
-data design (sometimes referred to as data architecting) creates a model of
data and/or information that is represented at a high level of abstraction.
- data model is then refined into progressively more implementation-specific
representations that can be processed by the computer-based system .
Architectural Design Elements
-Architectural design elements give us an overall view of the software.
- derived from three sources:
(1) information about the application domain;
(2) specific requirements model elements such as data flow diagrams or
analysis classes, their relationships and
(3) the availability of architectural styles and patterns
- The architectural design element is depicted as a set of interconnected
subsystems
Interface Design Elements
- The interface design elements for software depict information flows into and out
of the system and how it is communicated among the components defined as
part of the architecture.
- three important elements of interface design:
(1) the user interface (UI);
(2) external interfaces to other systems, devices, networks, or other producers or
consumers of information
(3) internal interfaces between various design components.
- an interface is a set of operations that describes some part of the behavior of a
class and provides access to these operations.
Component-Level Design Elements
- component-level design defines data structures for all local data objects and
algorithmic detail for all processing that occurs within a component and an
interface that allows access to all component operations (behaviors).
Deployment-Level Design Elements
- indicate how software functionality and subsystems will be
allocated within the physical computing environment that will
support the software .
- deployment diagram shows the computing environment but
does not explicitly indicate configuration details
Deployment-Level Design Elements
- indicate how software functionality and subsystems will be
allocated within the physical computing environment that will
support the software .
- deployment diagram shows the computing environment but
does not explicitly indicate configuration details
Aggregation – FloorPlan has the Camera
• User interface design begins with the identification of user, task, and environ-mental
requirements.
• Once user tasks have been identified, user scenarios are created and analyzed to define
a set of interface objects and actions.
• These form the basis for the creation of screen layout that depicts graphical design and
placement of icons, definition of descriptive screen text, specification and titling for
windows, and specification of major and minor menu items.
USER INTERFACE ANALYSIS AND DESIGN
• The Process
-The analysis and design process for user interfaces is
iterative and can be represented using a spiral model.
-User interface analysis and design process begins at the
interior of the spiral and encompasses four distinct
framework activities
(1) interface analysis and modeling,
(2) interface design,
(3) interface construction, and
(4) interface validation.
-The spiral shown in Figure suggests that each of these
tasks will occur more than once, with each pass around
the spiral representing additional elaboration of
requirements and the resultant design.
- In most cases, the interface is built using prototypes, as
this is the best way to test and improve the design.
USER INTERFACE ANALYSIS AND DESIGN
• Framework activities of User Interface Design
Interface Analysis and Modeling: This initial phase focuses on understanding user needs, tasks,
and the overall context of use. It involves creating models and representations of the interface.
Interface Design: Here, the focus shifts to creating the actual layout, structure, and visual elements
of the interface based on the analysis and modeling.
Interface Construction: This phase involves building the functional prototype or final interface
using software tools and technologies.
Interface Validation: The constructed interface is evaluated through testing and feedback to
ensure it meets user requirements and is usable.
INTERFACE ANALYSIS
- In the case of user interface design, understanding the problem means understanding
1. the people (end users) who will interact with the system through the interface,
2. the tasks that end users must perform to do their work,
3. the content that is presented as part of the interface,
4. the environment in which these tasks will be conducted.
User Analysis
Information from a broad array of sources can be used to accomplish this:
User Interviews -Members of the software team meet with end users to better understand their needs,
motivations, work culture.
Sales input -Sales people meet with users on a regular basis and can gather information that will help the
software team to categorize users and better understand their requirements.
Marketing input - Market analysis helps identify different user groups and understand how each group
may use the software differently.
Support input -Support staff interact with users daily and can provide valuable insights into what works
well, what doesn’t, what users like or dislike, and which features are easy to use or cause confusion.
Task Analysis and Modeling
The goal of task analysis is to answer the following questions:
• What work will the user perform in specific circumstances?
• What tasks and subtasks will be performed as the user does the work?
• What specific problem domain objects will the user manipulate as work is performed?
• What is the sequence of work tasks—the workflow?
• What is the hierarchy of tasks?
Techniques applied to the user interface :-
Use cases
- Use case is developed to show how an end user performs some specific work-related task
Task elaboration
- Process of breaking down a task into smaller, detailed steps to better understand its requirements,
dependencies, and execution. It helps in effective planning, resource allocation, and problem-
solving.
Object elaboration
- Objects can be categorized into classes Attributes of each class are defined, and an evaluation of
the actions applied to each object provide a list of operations.
Workflow analysis
- Technique allows you to understand how a work process is completed when several people (and
roles) are involved
Hierarchical representation
- Once workflow has been established, a task hierarchy can be defined for each user type.
- hierarchy is derived by a stepwise elaboration of each task identified for the user
User Interface Design Steps :-
After interface analysis, all user tasks and actions are identified, and interface design
begins. This design process is iterative, refining and improving with each step based on
previous insights.
User interface design models suggest some combination of the following steps:
1. Using information developed during interface analysis, define interface objects and actions
(operations).
2. Define events (user actions) that will cause the state of the user interface to change.
Model this behavior.
3. Depict each interface state as it will actually look to the end user.
4. Indicate how the user interprets the state of the system from information provided
through the interface.