You are on page 1of 24

Software Engineering

Short Questions with Answers


Q1. What is Software architecture?
Answer:

It is nothing but a model of the fundamental structure and


organization of a software system.
Define architectured description.
Answer :

It is defined by IEEE standard as a collection of nrodi cts to docurment an


architecture. B; using multiple
jeus we can represent adescription.
3. Defiu- arch type?
Answer :

it desc ibe a pattera which is e sential in d awing thei nd or


target system.
04. List out the architecturalviews?
Answer :

Model view. Process view, Dataflow view.


05. List out the architectural patterns.
Answer :

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.

Q8. Define comoneat.


Answer:
It is d reia i kr deoo, able and ie laceable p riof systei that encapsulates the auplementation
xposes tieset o. nt rfaces.
9. Define coupling.
Answer :
Counli g is the ctht tita.tive mwasure of degree to wnicn classes aue connected to one another.
Q10. Defios cohesion.
Answer:It is indication of relative functional strength ot a module. It is Natural extension of information biding and
Deriorms asingle task, reguiring little integration with other components.

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:

1 An oval shaped Box

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

Essay Questions with Answers


3.1 DESIGN ENGINEERING
Q!. Describe the design process and quality in software development.
Answer:
Quality
Design Process and
la
Software design is an iterative process using which the user requirements can be translated into the software
product.
As an initial stage of the software is represented as an abstract view.
Characteristics of Good Design
bythe customer. Even if there are some
1 The good design should implement all the requirements Specified should also be implemented by the
implicit requirements of the software product then those regquirements
software design,
can be understood easily by the developers,
The design should be simple enough so that the software
testers and customers.

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
.

and capabilities of the functions. The functions should be


set of features
It can be checkedIby assessingthe particular set of inputs.
work only for
yeneral and should not
Usability usefulness of the system.
It can be assessed by knowingthe

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

Answer: 2 Dynamic model


The software design concept provides a 3 Process model
framework for implementing the right software. 4. Functional model
Folowing are certain issues that are considered while
designing the software: 4. Refinement
1. Abstraction (a) It is actually a .cess of elaboration.
2. Modularity (b) Stepwise refinement is a top-down design
3 Architecture strategy proposed by Niklaus WIRTH.
4 Refinement (c) The architecture of a program is developet
5. Pattern bysuccessively refining levels of procedurd
detail.
6 Information hiding 5. Pattern
7 Functional independence
According to Brad Appleton the design pattem 9
Refactoring can be defined as -It is a named nuoget of insigt
9 Design classes which conveys the essence of proven solutionto
arecurring problem within a certain context.
1. Abstraction
Using design pattern designer can determin
It means an ability to cope up with the whether:
complexity. Software design occurs at different
levels of abstraction. At each stage of software (a) Pattern can be reusable.
design process levels of abstractions should be (b) Pattern can be used for curent work.
applied to refine the software solution.
At the higher leve! of abstraction, the solution (c) Pattern can be used to solve similar kindo
should be stated in broad terms and in the lower problem with different functionality.
level more detailed description of the solution is 6.
given.
Information hiding
It is one of the important property of effecti
2 Modularity modular design.
The softw are is divided into seperately named The advantage of basical
and addr 2ssable components that called as informationDuehidingis
in testing and maintenance. to iinformatior
modules. moduk
hidingsome data and one
Mever defines five criteria that enable us to can be hidden from procedures of
evaluate a design method: another module.
7.
1. Modular decomposability
Functional independence 03
(a) It can be Ans
Modular composability achieved by developing
single-mided
2
Modular understandability
functional
approach. modules with Couy
3.
4., uar continuity (b) By using i functia
functionallindependence
may be compartmentalized andinterface
Mocuar protection are simplified.
5
a
XepoxPhotocopying of this book is CRIMINAL Act. Anyone found guity is procndirs
Warning: LIABLE to faceLEGAL
Software Engineering
Coupingsameasure of interconnection among
mOdues in a program structure.
T n a rEence is assessed (c) It depends on the interface complexity between
modules.

(d) The goal is to strive for lowest possible coupling


i Counirg amorg IOdules in software design
Retatarins The property of good coupling is that
it shoukt
ts e, Tpi,ing e desicn without reduce or avoid change impact and.ipple effects
-Yrbehtour It shouid aso reduce the costin progam changes.
tesing and maintenance.
- nec etaorng s The process Various pes of coupling are
a a e e i t of re desgn do not get i) Data coupling: It is possible by paramete
-aR oaeE nrTal sucture gets passng or data interaction.
iü) Control coupling: The modules share related
Benefts conttoi data in control coupling.
The e i e ,can be chieved.
iü) Commoncoupling: Data or a global data is
EEn a s c a n be eliminated or shared among the modules.
car be epaec by eicent one. module
iv Content coupling: It occurs when one
information
Poor. corsted or naccurate data makes use of data or control
s n eremoved or reoiaced. maintained in another module.

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

Figure: Modularity and software cost

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

Technical Component Design class


Design class
realizations interface deskgn diagrams realization
Navigationdesign Design dasses Collaboration
subsystems Activity diagram
collaboration GUI design . Sequence diagram diagram
Abstraction diagrams Component
diagram
- Design dasses Design
Refined to - Activity diagram model
Component Sequence diagram
diagrams
Design classes
Activity dagram Deployment
Sequence diagram diagrams

Component kevel |Deployment level


Low
Interface interface interface
Architecture elements
elements
Dimensions
Process

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

a) Data flow models or class diagrams. Mobile phon Cient - PC


b) Information obtained from application Web
Web
browser 2.
domain. browser

c) Architectural patterns and styles.


3 Interface Design Elements Server machine 3
Interface Design represents the detailed design Web
of the software system. In interface design how browser

information flows from one component to other


component of the system is depicted. Figure: Deployment diagram (ii
It indic ate how software functions and sott
Typically there are three types of interfaces subsystems are assigned to the physical compu
User interface: By this interface user environment of the software product.
interacts with the system. Example: Web browsers may work n
phoned or they may run on client PC or can exe
Example: GUI on server ma hines.
b) External interface: This is the interface Q7. Expla n the template used for represe
of the sästenn components with the external
desig1 pattern.
entities.
Answer : 3,
Example: letworking. In soí! certaince Q8
ware
designing
Internal irterface: This is an interface patterns can te Created and usedprocesi.
to sc ve theprot
c) An
which represents the inter component Sometimes ir stead of creating new design pattern
communication of the system.
existing patten that satisfies the des.gn needs
reused.
Sof
Example: Two classes can communicate
Describing Design Patterns fran
with each other by operations or by passing mecha
messages.
Mature engineering branches
and electrical engineering make use oflike
design pate
Teor
book is a
Xerox/Photocor ing ofthis CRIMINAL Act. Aiyone found guilty is LIABLE to Droc

/arning: face LEG


3.11 Software Engineering
Example: To solve some particular problem in electrical engineering the Integrated circuit design the
(reated ThisIC design may vary based on nature of the problem. Thus design can be viewed as an activity in
whichthe same design pattern can be reused with little or no change in the configuration.
The attributes and operations of the pattern can be inherited.
The design pattern can be used using following design pattern ternplate.
In design pattern mainly design forces are described.
The design forces describe:
The non functional requirements such as reliability, maintainability and so On.
ji) The constraints that restrict the implementation of the design.
ii) The design force may describe the environment and conditions used for pattern applicability.
The attributes of desigu pai en are adjusted in such a way that the same design pattern can be applied to
varied of problems.
The name of the design pattern must be carefully chosen.
Use of Patterns in Design
Design pattern can be used throughout the software process.
Various typesof design patte:ns are:
1. Architectural Pattern
It depict the overall structure o: software. These patterns also indicate the relationship among the components
and define the rules for inter-relationship between the elements of the software architecture.

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

Figure: Horizontal Partitioning

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

Figure: Horizontal Partitioning


/Photocopyingof this
book sa CRIMINAL Act. Anyone found guilty is LIABLE to face LEGA Pprocee
3.13
Q9. What is data design? Expalin Software Engineering
done with examples. how it is System categories define the architectural style:
1.
Answer: Components: They perform afunction.
2. Connectors :Enable communications.
Data Design
It is basically the model of Ex: Call, event broadcasting. pipes.
data that is represented 3.
at the high level of abstraction. Constraints : Define how the system can be
The data design is then integrated.
create implementation specificprogressively refined to
representations.
4. Semantic models : Specify how to determine
a system's overa'l properties.
Various elements of data design are,
Data object: These are identified and The commonly used architectural styles are.
1
1 Data centered architectures.
relationship among various data objects can be
represented using entity relationship diagrams or 2. Data flow architectures.
data dictionaries.
3. Call and return architectures.
2. Databases: Using software design model, the 4. Object oriented architectures.
data models are translated into data structures
and databases at the application level. 5. Layered architectures.
3. Data warehouses: At the business level useful 1. Data centered architectures
information is identified from various databases
and the data warehouses are created. For Clhent Client
extracting or navigating the useful business software sofware
information stored in the huge data warehouse
then data mining techniques are applied.
Guideline for data design Client Client
software Data Store software
1. Apply systematic analysis on data
Represent data objects, relationships among
them and data flow along with the contents. Client Client
software software
2 ldentify däta structures and related relationships
loperations Figure: Data centered architecture
3
Establish data dictionary In this the data store lies at the center of the
4
Defer the low-level design decisions until late architecture and other components frequently
in the design process. access it by performing add., delete and modify
5 operations.
Use information hiding in the design of data
The client software requests for the data to central
structures repository.
6 and
Apply a library of useful data structures In this
operations. architecture posses the property of
7 interchangeability.
Use a software design and programming
language to support data specification
and Components are: Datawase elemets such as
tables, querie
abstraction. architectural
Q10. Expalin about the software Communication are: By relationships.
styles. Constraints are:Client software has to request
central data store for information
Answer : 2. Data Flow Architectures
Architectural
it is
Styles the system
architecture In this series of
transforations are pplied to
tor gven problem. for Creating
a pattern However. most of the large systemns produce the outut data The set of ccmponents
are heterOgeneous and do not follow single architectural called filters are connected bupipes to transform
ye the data from one component to another
Act
arning 3Aerox/Photocopving of this book is a CRIMINAL Anyone four quilty is LIABLE to face LEGAL proceedings
Software Engineering Filter
Filter

Filter
Filter
Filter a Filter Filter

Filer>Filter
Pipes
Filter

Figure: Pipes and Filters

Calland Return Architectures


program structure is organized into mo
3.
be easily modified or scaled. The
The program structure can
within the program.
|Main
Fan out

Controller
b| Jsub programs
Application
m
sub programs
9

EK p q

Fan in

Figure: Call and return architeture

Object Oriented Architecture


4.
interacting objects.
The system is decomposed into number of manja
objects encapsulate data and the corresponding operations that must be appliedto
These
data.

Class name Class name


B
Messages
Attributes Attributes
Operations Operations

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

Figure: Layer Architecture of Components


QI1 Explain about the architectural patterns.
Answer :
of software systems.
It is basically an approach for handling behavioural characteristics
Following are the pattern domains.
1 Concurrency
system, multiple tasks are executed in
It means handling multiple tasks in parallel. Example in operating interact with
system components can
parallel. Hence concurrency is a pattern which represents that the
each other in parallel. The benefit is efficiency.
2
Persistence
used in earlier execution can
Continuitu in the data can be maintained by the persistence pattern. The data
files or in databases.
be made available further by storing it in
3 Distribution
communicate with each other in distributed euetose
It refers to the wau in which the syste components
distribution pattern
Ihere are two major problems that occur in
components
1 The nature of interconnectior. ofthe
2 The nature of communication
These nrabloms can be solved by otherpattern called broker pattern. It lies between server and client
toQ12,mponentWhats. is an architectural context diagram? Explain it.
(OR)
define it?
What is an archtupe? How would you
"aming : Xerox/Photocopying of this book is a CRIMINAL Act. Anyone found guilty is LIABLE to tace LECAL prcceedings
Software Engineering 3
Answer: 3.1
In architectural design at the initial stage a context model is prepared. This model defines
entities that interact with the software. Along with this model the nature of software interaction the exter
entities is also described. The context model is prepared by using information obtained from analysiswith
requirement specification. smodelextertar
1
Representing System in Context
The context model is a graphical model in which the environment of the system is defined by shoin
externalentities that interact with the software system.
In architectural design the architectural context diagram(ACD) is created.

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

3. Control unit or controller

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 :

There are two alternative approaches used for architecture designs.


1 The first approach is to apply iterative method to access design trade-offs.
2 The pseudo quantitative technique for accessing design quality.
Architecture Trade-off Analysis Method
This method has an iterative evaluati on
The Software Engineering Institute has developed this method.
process.

Various design analysis activities that are conducted are :


i) Collect Scenarios
environment description
) Elicit requirements, constraints and
representing scenarios and requirements
i) Describe architectural style chosen for
iv) Evaluate quality attributes individually
attribute
v) Identify the sensitivity of quality
vi) Criticize quality attribute
Pseudo Quantitative Technique
quantitative approach for analysis of architecture desian
Asada and his colleaques suggested a pseudo
quality. criteria
architecture should meet a predefined goodness
In this approach, particular
Ihis criteria is called design dimension.
Asada suggested various models.

Pseudo quantitative Techniques

Spectrum Analysis model Design Selection Analysis model

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

d) Coupling Functionai : In this typeof cohesion the each


module performs only one
Layer : This type of cohesioncomponent.
Answer:
a)
Designing Class Based Components components and classes. is used in packages
Component is represented as a part of
architectural model. It collects the
information about the system as a part of
Communicational
of the
: When all
class access the same the
set of dataoperations
analysis model. type of cohesion then ths
occurs.
If obiect oriented
software Sequential : The components are grouped
approach is adopted then the engineering together in such a manner that the
level design will emphasize on component operation is provided as inputoutput
to another
ot ork
of analysis classes and elaboration operation.
infrastructure classes. refinement of
The detailed description of
Procedural : The procedures are invoked
operations and interfaces attributes. immediately one after the another.
of these
infrastructure classes is required during the Temporal : In which the operations specit
system tuilding. specific behaviour is called temporal cohest
Basic Design Principle Utility if: Classes or
1 The Open-closed Principle d)
together they perform operations
Some
are groupe
specific operatiot
2 The Liskov Substitution Principle Couplingis
3 Dependency Inversion Principle Coupingare a mechanism of to which the
classes
Warning: XerorPhotocopying of this book is a
CRIMINAL Act Anyone found connected to one degree another
guilty is LIABLE face LEGAL
to proceedirg
g194
Software Engineering
Various tvpes of couplnq ae
1. Content Coupling:lt occurs when one
another nodule module modifies or depends upon the internal working of
2. CommonCoupling : It occurs when two modules share
same
3. Control Coupling:lt is one module cotrollino the low of global data.
on what to do,. another module by passing intorniaton
4. Stamp Coupling : lt is ocCurs when one modulos shave a composite data
part of it by passing a whole structure to a structure and use oniy
function that only needs one field of it.
5. Data Coupling : When modules share
data through some data.
6. External Coupling : WIhen components collaborates or communicates with intrastructure
Components.

015. Explain about the object constration language and structure programming.
Answer :

Object Constraint Language


Thedesign model is represented by UML. But the qraphical representations are not enough.
There are situations in which we want to describe the constraints of the objects.
To represent unambiguous and consistent way of representing the constraints of the objects a formal
language is introduced. This language is called object OCL.
There are four parts of OCL
1 Context: Itdefines the situation for the design element.
2 Property : It represents the characteristic of the element.
elements.
3 Operation:Various arithmetical, logical or relational operations can be carried out of the design
associated with the some meanings.
4 Keywords: There are some reserved words in this language which are
For example
for defining the move.
Following is a part of OCL for gaming software
context Game::move(position: Integer)
>=0 and
pre validPosition: position
position < board.size
pre WinnerStatus: winner()->isEmpty()
currPlayer =
post changedCurrPlayer: sizel)
>>at((players- > index of(currPlayer @pre) + ).mod(players- >
players-
Structured Programming programming.
of structured
Ihere are three constructs
1 Sequence
Condition
3
Repetition statements.
processing of the
Sequence denotes alinear
totestthelogicallconditions. (if-then-else conditions).
provides thefacility
3 Condition the looping.
nepetition is used to denote
CRIMINAL.Act. Anyone found
this book is
a guilty is LIABLE o face LECA' proceedings
hotocopying of
Software Engineering 3.20
Advantages
1 It constructs reduces program complexity.
2 It enhances readability. testability and mainfainability of the procedure.
These are the logicalcheck that allow a reader to recognize procedural element from each programmina
maule
Graphical Design Notations
It can be represented by graphical notations. These qraphical notation are called flow chart.

Graphical Name Meaning


notation

Box It is used for processing step

Flow of control It is used to represented the flow


of control from one construct to
another.

Diamond It is used to represented the


conditions such as if-them-else
or repeat until

Example

condition
First task

F T

Second task Else part Then part

Third task

Sequence if-then-else condition


Another araphical notation is box diagram. Ihis notation is also called as Nassi and Shneiderman char
(Nassi and Shneiderman NS chart.
Example
First task
Condition T

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

rogram Design Language(PDL)


English. The PDL.is not compiled. It is usedto translate the
Itis also called pseudo code or structured
into the prograrnminglanguage.
tor example
procedureetfor searchingthe name John fron the tible. IF the
which demonstrates the
Following is afFDL returned
sfound then index of thetable is
Searchltable.number of items)
Set count toZero
Rad first iten frorm table
CRIMINA Act. Anyone found guifty is LIABLE to face LEGAL proceedings
Hwring OX/Photocopving of this book is a
Software Engineering
DO FOR count is<=number of items
IF able.name-"John

RETURNtable.index
ELSE
count= COut +L

Read Next item from table


ENDIF
ENDFOR
END

3.4 UsER INTERFACE DESIGN


Q16. Briefly discuss about the golden rules for uses interface design.
Answer :
Any computer based systerm requires two things:
1
Computational abiity
2
Functionality.
Whle design1ng for user interface the very first step is to identify user. tasks and environmental technigue
Golden Rules
Thao Mandel has proposed three golden rules for user interface design.
1. Place the user in control
2. Reduce the user's memory load
3. Make the interface consistent.
1. Place the User in Control
While anatysing any requirement during requirement analysis the user often demands for the system whc
will satisfy user requirements and help him to get the things done.
Following are the design principles that allow user to control the system
(i) Define the interaction modes in such a way that user will be
actions.
restricted from doina the unnecese
(ü) The interaction should be flexible.
(ii) Provide the facility of 'undo or 'interruption' in user interaction.
(iv) Alow user to customize the interaction.
(v) Hide technical details from the user.
(vi) The objects appearing on the screen should be interactive with the
2 Reducethe User's Memory Load
If the user interface is good then user has to remember very less. In fact the design shouldi besuchthat
system remembers more for the user and ultimately it assists the user to handle the Computer bas
systems. Following are the principles suggested by Mandel to reduce the memory
load of the user.
Do not force the user to have short term memon:
(ü) Establish meaningful defaults
(üi) Use intuitive shortcuts
(iv) The visual layout of the interface should be realistic
gradually
() Disclose the information
Warning : XeroxPhotocopying cfthis book is a CRIMINAL Act. Anyone found quilty is IABLE o face LEGAL procee
J.23 Software Eng'neering
Make the Interface Consistent
The user intertace should be consistent. This consistenru can be maintained at three levels suc as
The visual intormation (allscreen layouts) shoujdbe consistent throughout and it should be as per
the design standards.
(i) There should be limited set of input holding the non conflicting information.
(i) The intormation flowtransiting from one taskto another should be consistent.
Principles
Allow user to direct the current task into meaningful manner
1.
2 Maintain consistency across family o» product
Ifcertain standards are maintained in previous nodel of anplication do not change it until and unless it is
3
necessary.

o17. What are interface desing models? Explain.


Answer :

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

3. Prepare allinterface designs by solving various design issues.


4 Apply modern tools and techniques to prototype the design.
5. Implement design model.
6 Evaluate the design fror end user to bring quality in it.
classes.
These steps can be broaily categorized in two
Interface analysis
and design models
UIAnalysis
and design
The pr:cess

. Interface Analvsis and design model

Interface analysis and design models

Design model Mental model Implementation


User model (system perception) model

interface it is a must to understand the user who is using the system.


User model : To design any user
li) Design model: It consists of data, architectural, interfacee and procedural representation of the software.
li) Mental model : The user model is therepresentation of what user thinks about the system? Basically any
user interface design is heavily dependant upon the description obtained from the user about his wants
and needs.
nplementation model : The implementation model generates the look and feel of interface. This
system's semantic and syntax.
model describes the
ng: xerox/Photocopyin9 of this book is a CRIMINAL Act. Anyone found guilty is LIABLE to face LEGAL proceedings
Software Engineering 39
2. The Process
implemented using iterative spiral model
Ihe user interface analysis and design process can be
It consists of four framework activities.
(i) Environment analysis and modelling
(ü) Interface design
(ü) Implementation
(iv) Interface validation
Interface
Environment
Validation
analysis and
modeling

Start of
process

Release
Release

Release

implementation Interface
design

(i) Environment Analysis and Modelling


In this phase three major factors are focused i.e. user, task and environment. First of all the user
profle
analysed to understand the user and to elicit the requirements, then the tasks that are required to carry ou
desired functionality are identified and analysed. The analysis is made on user
the physical work.
environment which invole
(iü) Interface Design
The interface design is a phase in which all the
interface objects and coresDonding actions of each task a
defined.
(iüi) Implementation
The implementation phase involves Creation ot prototype using which the interface
evaluated. scenarios Ca
(iv) Validation
The goal of validation is to validate the interface for its
Q18. State and explain the various user
correct performance.
Answer:
interface design issues.
After interface analysis allthe tasks and
Duringthe interfaceanalysis step define corresponding actions are identified commonly used stesp art
1
interface objectsand
2 Define the major events in the interface These
events correspondi
depict the
Analysee how the interface will look like from user's point of user
ng actions or
operations.
theseevent
3
dentify howthe user understands the
view. actions.F inally model
interface with the
4
information provided alorng
Warning: Xerox/Photocopying of this book is a CRIMINAL Act. Anyone found quity is LIABLE to face LEGP proceed
with it.
Software Engineering
s25
Application oftInterface Design Steps
Thev ar the vpes of objects
1. Target object : he tanget object is an object in which some object can be merged.
Source object : 1he soue object is an obiect which can be dragged and dropped to some other object
Application object : The object which represents the application specific data.
Design Issues

User
System help
esponse
facilities
time

Application Design Intemationa


acoesibility issues lization

Emor Menu an
infomation command
handling labeling

Figure : Design Issues

1. System Response Time


Itis the amount of time taken by the system to respond from the point at which user performs some control
action.
2 Help Facilities
The hep can be on-line help or it can be in the form of user manual.
System length
System response
Trine characteristics

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.

Build nth Build 1th Design to


be evaluated
prototype prototype

Design User
modifications evaluates
are done are done

Study of
evaluation done
by designer
Evaluation
completion

Figure: Design Evaluation

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

You might also like