0% found this document useful (0 votes)
7 views13 pages

Oose Unit-3

Software engineering focuses on the design, development, testing, and maintenance of software applications. Key concepts include software design principles such as correctness, completeness, efficiency, flexibility, and maintainability, as well as coupling and cohesion between modules. User interface design is also crucial, with two main types being command line interfaces and graphical user interfaces, which facilitate user interaction with software.

Uploaded by

kannanv859
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views13 pages

Oose Unit-3

Software engineering focuses on the design, development, testing, and maintenance of software applications. Key concepts include software design principles such as correctness, completeness, efficiency, flexibility, and maintainability, as well as coupling and cohesion between modules. User interface design is also crucial, with two main types being command line interfaces and graphical user interfaces, which facilitate user interaction with software.

Uploaded by

kannanv859
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Software engineering is the branch of computer science

that deals with the design, development, testing, and


maintenance of software applications

Software Design:
• Software design is a mechanism used to transform
user requirements into suitable form, which helps
the programmer in software coding and
implementation.
Correctness:Software design should be correct as per
requirement.
Completeness:The design should have all complete
components like data structures, modules, and external
interfaces, etc.
Efficiency:Resources should be used efficiently by the
program.
Flexibility:Able to modify on changing needs.
Maintainability: The design should be so simple so that it
can be easily maintainable by other designers
Design Process:
Coupling:
In software engineering, the coupling is the degree of
interdependence between software modules. Two
modules that are tightly coupled are strongly dependent
on each other. However, two modules that are loosely
coupled are not dependent on each other. Uncoupled
modules have no interdependence at all within them.
The various types of coupling techniques are:
Types of Module Coupling:

No Direct Coupling: There is no direct coupling between


M1 and M2.

Data Coupling: When data of one module is passed to


another module, this is called data coupling.
Stamp Coupling: Two modules are stamp coupled if they
communicate using composite data items such as
structure, objects, etc.
Control Coupling: Control Coupling exists among two
modules if data from one module is execute on the
another.
Common Coupling: Two modules are common coupled if
they share information through some global data items.

Content Coupling: Content Coupling exists among two


modules if they share code, e.g., a branch from one
module into another module.
Cohesion:
Cohesion measures the strength of relationships
between pieces of a given module.
Cohesion provides the information about the functional
strength of the modules.
Functional Cohesion: Functional Cohesion is said to exist
if the elements of a module, cooperate to achieve a
single function.
Sequential cohesion: Sequential cohesion occurs when
the elements within a module are arranged in a specific
sequence, with the output of one element serves as the
input for the next element. The elements are executed in
a step-by-step manner to achieve a particular
functionality.
Communicational Cohesion: Communicational cohesion
is when parts of a module are grouped because they
operate on the same data .
Procedural cohesion: Procedural cohesion is when parts
of a module are grouped because they always follow a
certain sequence of procedures for the execution.
Temporal Cohesion: Temporal Cohesion is the elements
are processed at the particular time in the program
execution.
Logical Cohesion: A module is said to be logically
cohesive if all the elements of the module perform a
similar operation.
• Functional Independence:
Functional independence is achieved by developing
functions that perform only one kind of task and do not
interact with other modules.
Independence is important because it makes
implementation more accessible and faster.
• Design Patterns:
Design Patterns are solutions to error occur during the
software development process.
Types of design patterns:
Creational Design Pattern, Structural Design Pattern, and
Behavioral Design Pattern.
• Creational design patterns are the way to creating
objects in the software development.
• Structural design pattern helps to design the
software in the structural format.
o Types of Structural Patterns
a. Adapter Design Pattern.
b. Bridge Design Pattern.
Structural design patterns are concerned with how
classes and objects can be composed, to form larger
structures.
Behavioral Patterns are concerned with algorithms and
the assignment of responsibilities between objects.
User Interface Design – Software Engineering:
• The user interface is the front-end application view
to which the user interacts to use the software.
There are two main types of User Interface:
• Text based interface or Command Line Interface
• Graphical User Interface (GUI).
User can manipulate and control the software as well as
hardware by means of user interface.
User interface is part of software and is designed to work
with the software application.
UI can be graphical, text-based, audio-video based
depending up on the hardware and software.
UI can be the hardware or software or the combination of
both.
Command line interface:
A command line interface (CLI) is a text-based interface
where the user can input commands that interact with a
computer’s operating system.
A command-line interface (CLI) is a text-based user
interface (UI) used to run programs, manage computer
files and interact with the computer. Command-line
interfaces are also called command-line user interfaces
A text-based command line interface can have the
elements:
• Command prompt
• Cursor
• Command
Graphical User Interface:
GUI can be combination of both hardware and software.
Using GUI, user interprets the software.
A graphical user interface (GUI) in software engineering is
a user interface that allows users to interact with devices
using graphical elements such as windows, icons, and
buttons.
A GUI system has a elements such as:
• Window
• Menu
• Button
• Icon
• Cursor
Software User Interface Design:

You might also like