Professional Documents
Culture Documents
1. Task schedule
2. DS process management
3. DBMS
4 Application level
5. Rroker pattern
6. What 1re the software quality attributes.
Answer :
Functionalists, usability, reliability, perform ance and supportabil ty.
Q7. Define design procesSs.
Answer :
It is a step-by-stenp andrepetitive procedur :where sc ware is sin lated according tot he eguirement.
1otocopying of this
book is a CRIMINAL Act. Anyone found gulty is LIABL E to face LEGAL
procesdings
Software Engineering = 3.
Q1. Enumerate the symbols used in graphical design rotation?
Answer:
2. Rectangular Box
Diamond Box( )
Q12. Define PDI.
Answer :
Program design language can be defined as alanguage with the complete external syntax ofa structure:
programming language.
Q13. What is the need for modularity?
Answer:
It is easier to solve a complex problem can achieve reusability. Best effort and complexityreduces.
Q14. Define refinement.
Answer :
Refinement, one or several instructions of the given program are decomposed into more detailed instructions
Q15. List design classes.
Answer :
System, process,persistent, user interface, business domain classes.
Q16. What is architectural design?
Answer :
It means to develop a modular program structure and represent the relationships b/w module.
Q17. WVhat is decision table?
Answer:
Itis a tabular form that consists of a set of conditions and their respective actions
Q18. What is stamp coupling?
Answer:
tis when modules share a composite data structure and use only a part of if, possiblu a different part.
Q19. What is temporal cohesion?
Answer:
The set of functions responsible for initialization, start up, shut down of the same process etc., exhib:
temporalcohesion.
Q20. What is control coupling?
Answer:
the flow of another. by
It is one module controlling passing it information on what to do.
Software Engineering
3.5
3
The design should be comprehensive.
Quality
quality software.
The goal of any software design is to produce high
Characteristics
using following issues.
1 The design architecture should be created
patterns.
(a) The design should be created using architectural styles and
should posses good design characteristics.
(b) Each component of design phase
implementation of design should be evolutionary, so that testing can be performed at each
(c) The
of implementation. represented.
desian the data, architecture, interfaces and components should be clearly
In the
The design should be modular. problem.
structure should be appropriately chosen for the design of specific
The data independency can be achieved in the
used in the design so that functional
The components should be
design. in software requirement analysis the design should be created.
Using the information obtained
uality Attributes Usability, Reliability. Performance
popularly known as FURPS (Functionality,
The design quality attributes
and Supportability).
Functionality
.
Reliability
It is a frequency
failure. ReRepeatability refers to the consistency and repeatability
and severity of(MTTF) is a metric that is widely
used to measure the product's
measure of to Failure
of the The Mean Time
measures.
erformance and reiiability. CRIMINAL Act. Anyone found guilty is LIABLE to face LEGAL proceedings
book isa
of this
Sottware Engineering 36
3. Architecture
4. Performance
It is a measure that represents the response of It means representation of overall structure o
the system. Measuring process speed, memory an integrated system. In architecture t
usage, response time and efficiencr. componentsinteract and the data of the
is used by various components. Thes structure
5. Supportability components are called system elements
It is also called maintainability. It is the ability to In architectural design variouS system models ca
adopt the enhancement or changes made in the be used and these are
software.
1. Structural model
Q2. Explain about various design concpets in
detail. 2 Framework model
Or dasres can be
reciied. Different Types of Cohesion are
TeecsT ofangpartcua
omponent 1. Coincidentally cohesive: The modules in
with each other
sZnb, edesigner of the
sofware system. which the set of tasks are related
are called
loosely then such modules
Design classes coincidentally cohesive.
as the casses that
Desin dases are detnedoroblem domain. in 2. Logically cohesive: A module that
performs
i s e ome eemens of the tasks that are logicaliy related
with each othe
viewed from user 's point
io eprobem iS is called kogicaliy cohesive.
t.
: 3 Temporalcohesion: The module in which
e goaof desi cdases is tasks red obe execuied in some specific
tim:
cdasses by providing
refne the ana,sis
design. Using detailed design spar.
deta
he mdementaton is cadout. 4 Procedursl cohesion: When processing
her elements nodule are related with one
classesfor implemen specific
loreate new set of soiware. another at, iust be executed in some
reguirements of the procedural
ng the core order then uch module is called
cohesive.
henes of design caes
Communicational cohesion: When the
Tes 5 the data.
pocessing elements of a module share
modules
The goal is to achieve high cohesior for
in the Ustem.
al effectient
Figure Q4. Justify how modular design is
cohesion. design method.
Define coupling and
Answer:
wer: Modularity
pling represents howthe
modues can be
the The software is divided into separately.
name
tefectvely or with called as modules
wTth other module and addressable components that
connected
to face LEGAL proceedings
Qusde worid
s CRMINAL Act Anyone found guiity is LIABLE
bookis
: ying of this
Software Engineering
Monolithic software is hard to grasp for the software engineer, hence it has now become atrend to dn
the software into number of products. But there isaa co-relation between the number of modules and overal .
of the software product.
Total software
cost
Cost to
Effort
cost
or integrate
M
Total nunber of
modules must be
within this region
it is a region of
minimum cost
Cost/module
Region of under -modularity Region of over-modularity
Number of
modules
Itis useful guideline for the modularity and that is -overmodularity or the undermodularity while develon:
the software product must be avoided.
We should modularize the software but the modularity must remain near the region denoted by M
Modularization should be such that the development can be planned easily, software increments can
defined anddelivered, changes can be more easily accommodated and long term maintenance can be care
out effectively.
Mever defines five criteria that enable us to evaluate a design method with respect to its ability to deine
effective modular system :
1. Modular decomposability :Adesign method provides a systematic mechanism for decomposing
problem into sub-problems. This reduces the complexity of the problem and the modularity can be achieve
2. Modular composability : Adesign method enables existing design components to be assembled into
new system.
3. Modular understandability: Amodule can be understood as a standalone unit. It willbe easier to
and easier to change. D
4. Modular continuity: Small changes to the systemrequirements result in changes toiindividual moduk
rather than system-wide changes.
5. Modular protection : An aberrant condition occurs within a
within the module. module and its effects are constra
05. Differentiate between content and common coupling.
Answer:
Content Coupling
1 Content couplingoccurs betwieen two 1 Common Coupling
modules when one module refers to Common coupling occurs when
the internals of the other module. modues
communicate using global data areas.
Content coupling is also known as 2
2.
pathological coupling. Common coupling is also known as global
coupling.
3.9 Software Engineering
3 This type of coupling does not require 3 This type of coupling is based on the
any global data or global variable for communication using global data areas.
communication
4
The major drawback of content 4 The major drawback of common
coupling is that - if we want to reuse coupling is that - modules in the
one component we need to import all common coupling are tightly coupled,
the components that are coupled with Afault in one module using global
module
the component being reused. data mayshowup in another
because global data may be updated by
any module at any time. This greatly
affects the reusability of modules.
The access to globaldata is of main
5 The access to internal structure is of 5 communication.
in this kind of
main concern in this kind of
concern
Communication.
difficult to
In this coupling, component directly 6. In common coupling, it is
6
modifies another's data. determine all the components that
affect a data element.
that
Example -A process control component
Example - Part of Program that searches
7. in a global
7. maintains the status of operations
for the entry of particular employee,forwhen data store. This control block
gets data from
entry the multiple
the module does not find the multiple sources or supplies data to status of
employee, it directly adds employee sinks. Each source process
writes the
structure directly to the global data store.
modifying the contents of data its operation
containing employee data.
model in detail.
Q6. Describe design
tasks that
Answer :
model that occurs due to various software
of design
dimension denotes the progress
a The process prócess. design model.
part of software model is transformed into
get executed as the detail the analysis
represents in how much
The abstract dimension analysis and design
model.
the boundary between
C Dashed line shows Class d1agrams
Requirements
constraints
Use cases -Analysis package
Class diagrams Use case diagrams interoperability
High CRC modes
Analysis package Activity diagra1n Collaboation Targetssand
CRC modes configuration Analysis
Collaboration
Swimlane diagras model
diagrams DFD
diagrams Collaboration
CFD
DFD diagram -Processing
CFD State diaggam namatives
Processing Sequence State d1agams
Dimensions narratives
diagram Sequence diagrams
design Model
Flgure: Dimension of
LIABLE to face LEGAL proceedings
CRIMINAL Act. Anyone found guilty is
Software Engineering
(d) In both the analysis and design models the
same 4. Component Level Design Elemente
UML diagrams are used but in analysis model
the UML diagrarns are abstract and in Component
design
model these diagrams are refined and elaborated. Interface
Design Data Element
It represents the high level of abstraction. This Order
data represented at data design level is refined Fom
gradually for implementing the computer based Dependency relation
system. The data has great impact on the The component level design is more
architecture of software systems. Hence structure dete
design of the software system along with
of data is very important factor in software design. specifications. In this level design eleme
describe the internal details of the cormpore
Data appears in the form of data structures and
algorithms at the program component level. At In component level design all the local
objects, required data structures and algort
the application level it appears as the database details and procedural details are exposed
and at the business level it appears as data The above figure represents that compor
warehouse and data mining. order makes use of another component for
Us
2. Architectural Design Element The order is dependent upon the compcre
form. These two objects can be interfaced
It gives the layout for overallview of the software. each other.
Architectural model can be built using following 5. Deployment Level Design Elements
Sources. 1
Design Pattern
components and
These are used to represent the design of specific elements, relationships among the
component to component communication.
3. Idioms
used to implement
These are also called as coding patterns. These patterns are language specific and are communication.
component
an algorithmic elerments, interfaces, protocols or methods used for component-to
(ii) Framework
infrastructure used for design work.
It can be defined as the implementation specific skeletal
mini-architecture.
(a) The framework allows Cesigner to select reusable
a specific problem domain.
(b) Aframework consists of various plug-points that enable designer to adopt
co-operating classes act as framework.
(c) !nobject oriented modelling, the collections of
design elements
(d) For effective desian, the existing frameworks are applied with on change and additional
may be added only via plug-points.
3.2 ARCHITECTURE DESIGN
Q8., What is software architecture? Expalin about structurd chart with an example.
Answer
Software Architecture
The architectural design is the design process tor identitying the subsystems making up the system and
communication.
Iramework for subsystem control and
The goal of architectural design is to establish the overall structur f software system. Architectural design
and actual design proc ess.
Tepresent the link between design specification
Warning : sAerox/Photocopving of this book is a CRIMINAL Act. Anyone found guitty is LIABLE to face LEGAL prooedings
Software Engineering 3.1
Sructural Partitioning
The program structure can be partitioned horizontally or vertically.
Horizontal Partitioning
It defines separate branches of the modular hierarchy for each major program function.
It can be done by partitioning system into:input, data transformation (processing) and output.
In horizontal partitioning the design making modules are at the top of the architecture.
Decision maker
Worker
Advantages
1 These are easyto test, maintain and extend.
2.
Theyhave fewer side effects in change propagation or error propagation.
D sadvantage
program i
More data has to be passed across module interfaces which complicate the overall control of
Vrtical partitioning
structúre.
It suggests the control and work should be distributed top-down in program
Invertical partitioning
function.
Define separate branches of the module hierarchy for each major
Use control modules to co-ordinate communication between functions.
Advantages of vertical partition
1 These are easy to maintain the changes.
2 Theyreduce the change impact and error propagation.
Function l Function 2 Function 3
Filter
Filter
Filter a Filter Filter
Filer>Filter
Pipes
Filter
Controller
b| Jsub programs
Application
m
sub programs
9
EK p q
Fan in
Messages Messags
Messages (Paraneter
passing)
Chass name
(
Class name
D
Messqus
Attributes
Attibutes
Optalions
Operations
15 Software Engineering
Lavered Architecture
The layered architecture is composed of differenttlayers. Each layer is intended to perform specific operations
so machine instruction set can be generated. Various ocomponents in each layer perform specific operations.
User interface
laver
Application
layer
Utility
layer
Core
layer
Components
perfoming
various operations
4
Super ordinate systems
Used by An
Target system
Actor
Peers 1.
Uses
Subordinate systems
Following are the basic terminologies associated with architectural context diagram.
i). Target system
ii) Super ordinate systems
Sub ordinate systems 2
ii)
iv) Actors
v) Peer-levelsystems
2 Defining Archetypes
It is a basic step in architectural
design, more precisely in functionality based design,
abstraction using which the system can be structured. Archetype is a co
Using archetypes, a smallset of entities thàt describe the
major part of systemtehavioycan be descrite
Various types of archetypes are
1 Point or node
2 Detector
4.
Indicator or output
Warning: Xerox/Photocopying of this book is a CRIMINAL Act. Anyone found giity is LIABLE to face LEGAL proceedrg
417# Software Engineering
Refining Architecture into
Components
To create full structure of the system it is required to refine the software architecture into cormponents
Hence it is necessary to identify the components of the system. The components can be identified from
application domain or from infrastructure domain.
These two methods by which the components can be identified.
1. The data flow diagram
2. The components can be the entities that follow following functionalities.
a) External communication
b) Control panel processing
c) Indicator management
Defining lnstantiations of the System
In order to model a structure of the system simply refining the software into components is not sutthcient.
Further refinement is necessary by instantiation of the system.
013. Discuss various criteria for accessing architectural design.
Answer :
arning : XerowPhotocopying of this book is a CRIMINAL Act. Anyone found guilty is LIABLE to face LEGAL proceedings
Sottware Engineering
The Interface Segregation Principle 3.18
Frst mael is specttum anatsis. This model 4
Svanos ardhitectural design using the
goxdnes 5 The Common Closure Principle
Soectum index is calculated usng tollowing The Release Reuse Equivalency Prncin.
7 The Common Reuse Principle
S =$- SW) Sb-Sw)x l00 b) Component Level Design Guideline
IWhere Sis the total soore
Swis the worst carse Ambier suggested following guideline fo
conducting component level design
Sis best case
Design selection analvsis in which a set of Components
desgned dimensions are defined. There are the part of architectural model Th.
naming conventions should be established fo
The proposed archite cture is
detemmN the number of desim dimensionsassessed to
that achieve
Components.
when compared with best case system. Interfaces Q
It can be calculated index d Interfaces serve important role in communicatior A
d= (NN) x 100 and collaboration. This should be drawn as
circle with a solid line connecting it to anothe 0
where element.
N,is number of design dimensions achieved by Dependencies and Interfaces
the progposed architecture N is the total
design dmensions. number of It must be shown
from left to right. The
inheritance should be shown from bottom to top a
3.3 ie. from derived to base class.
MoDELING COMPONENT LEVEL DESIGN
C) Cohesion
Q14. Discussing the following
The cohesion means a class or a
a
Designing
nents.
the class based compo consists of data and operations component that 2
that are
related to each other and related to the closely
b) Component level design class itse
c) Collesion
Various types of cohesion are: 3
015. Explain about the object constration language and structure programming.
Answer :
Example
condition
First task
F T
Third task
Second task
Else
Then
Third task part
Sequence
if-then-else
Warning : Xerox/Photocopying offtthis book is a CRIMINAL Act. Anyone found quilty is LIABLE to face LE
Software Engineering
bulasDesign Notation
Ihoyamgcosthcanbe epesented bytalular desqn notation Ths an alternalive representatcn
ihesal alolations
lhee de lour sections in thelabular Tepresentalion method
thve luol selion b al the upper lelt corner lt
consists of list of conditions.
Wu econd seclion Is the lower lelt haud corner. It
consists of list of acions.
Ihe tiglit hand poxlian is a malrix which repreents he combination of conditions and actions. The
(ombination ol conditionand alions togetlher fon processina rules for that particular procedure
lollowing slepsare applied to develop a decision table:
lisl althe actions asockaled with particular procedure.
ist all the conditions associated with particular procedure
Asocale euch condition with each coresponding action. Any impossibo permut.aton must he lminatd
Allpossible permutations of conditions and corresponding actions mu t he repres nted in the iable.
Ceate the processing rule indicating that particular action exists on particular con lition.
Forexample
Conditions 1 2 3 4 5
Condition 1I
Condition 2
Condition 3
Actions
Action 1
Action 2
Action 3
RETURNtable.index
ELSE
count= COut +L
User interface analysis and design can be done with the help of following steps.
1 Create different models for system functions.
2
In order to perform these functions identify the human-computer interface tasks
Start of
process
Release
Release
Release
implementation Interface
design
User
System help
esponse
facilities
time
Emor Menu an
infomation command
handling labeling
Variability
3 Error Handling
Errors and warning cause the frustrations to the user. Sometimes the error messages are in very vague
form.
4.
Menu and Command Labelling
There are typicaly two ways by which the user hardles the sysiem i.e. keyboard and mouse
Application Accessibility
Conuter annication are used by everybody and everywhere. Hence softwvare engineers must develop a
mechanism be which the most frequently required applications must be availed easilu
Accessibilitu are used for while developea the appicatons. It is mostly used by the web applications
Internationalization
There aro sihuahons in which the user intertace is
developed for localised pupose and for local language
arm
ming XeroxPhotocopying of this book S i Anyone found guilty is LIABLE to face LEGAL
proceedings
Softwai eEnginering 3.26
Q19. Wite a note on design evoluation.
Answer :
The implementation phase of user interface includes creation of prototype that enables user to evalhis
dema
the usage scenarios. This evaluation is necessary to determine whether the created intertace satisties user
or not. After evaluating the usage scenario the user immediatel submits hiscomments to the designer.
submited .
The designer then makes corresponding modifications in the interface and then again it is
further evaluation. This design evaluation of user interface is an iterative process.
Design User
modifications evaluates
are done are done
Study of
evaluation done
by designer
Evaluation
completion
After creation of first prototype it is evaluated by the user. The evaluation made by the user is then submite
to the designer who then makes necessary changes in the interface and builds the next prototype. This proces
repeatedly performed until the user gets satistied completely and no further modifications are necessary in t
interface.
Thus prototype approach proves to be effective for design evaluation