0 ratings0% found this document useful (0 votes) 307 views85 pagesSE Decode SE IT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
TABLE OF CONTENTS
Unit II
Design Engineering (3-1 t0-ah
Part I: Design Engineering
Chapter - 3
3.1 Design Process and Quality
3.2. Design Concepts
33 .
3.4 Patter - based Software Design.
3.8 Architectural Design.
3.6 Design Decisions...
3.7 Views.
3.8 Patterns
3.9 Application Architectures...
Part II : Component Level Design
3.10 Component -
3.11 Designing Class based components...
3.12. Conducting Component-Level Design.
3.13 User Interface Design ..
Chapter-4 Project Planning, Management and Estimation
(4-1) to (4 - 48)
Part
+ Project Planning
4.1 Project Initiation.
42 Planning Scope Management.
43° Creating the Work Breakdown Structure...
44° Scheduling.
Part If: Pro}
Management
4.8 The Management Spectrum. oe bo
46. People 4-26
4.7 Product, 4-28
48 Process 4-29
49° Project 4-29
40. The WS a 4-30
4 in the Process and Project Domains aul
433
4,12. Software Measurement
P Project Estimation
4.13 Software Project Estimation 4-42
4.14 Decomposition Techniques.. 4-44
4.15 Cost Estimation Tools and Techniques... 4-46
4,16 Typical Problems with IT Cost Estimates... a 4-47
Software Quality and Testing
(5-1) to (5 - 45)
Part 1: Quality Concepts
Chapter - 5
5+
3+
Software Quality.
5.3. Quality Metrics
5.4 Software Quality Dilemma... 3
55 Achieving Software Qu:
Pa
Software Testing
56 ion to Software Testing
5.7 Principles of Testing
58 Test Plan... oS-11
5-12
5-14
Ww
oThapter-6 Formal Methods Recent Trends in Software
Engineering (6-1) to.6. 31)
61 SCM.
62. Risk Management.
63 Emerging Software Engineering Trends..
6A CASE ieee
65 Introduction to Agile Tools.
————=— ——e
(S-1) to S- ia
Solved SPPU Question Papers
wi
[unite
3 Design Engineering
Pee ae
Design Process and Quality
translates the requirements into finished software product in which the
details about the software data structures, architecture, interfaces, and
‘components that are necessary to implement the system are given.
Software design is an iterative process using which the user
requirements can be translated into the software product.
Q.2 Explain the quality attributes, considered in software design.
EB [SPPU : Dec.-12, Marks 8, Dec.
The design quality attributes popularly known as FURPS
ity, Performance and Supportability)
is a set of criteria developed by Hewlett and Packard.
Following table represents meaning of each quality attribute
Quality Attribute Meaning
Functionality can be checked by assessing
the set of features and capabilities of the
functions. The functions should be general
and should not work only for particular set
of inputs. Similarly the security aspect
should be considered while designing the
a.
@-pSoftware Engineering 33 Design Engineering
3. The design should be modular. That means the subsystems in
the design should be logically partitioned.
The data structure should be appropriately chosen for the
design of specific problem.
QTTE) is a metric that is widely used yg The components shouldbe used inthe design so that functional
freasure the product's performance ayy independency can be achieved in the design
Using the information obtained in software requirement
analysis the design should be created.
a measure that represents the response
Performance i 7. The interfaces in the design should be such that the complexity
of the system. Measuring the performance between the connected components of the system gets reduced,
means measuring the processing spec, Similarly interface of the system with external interface should
memory usage, Tesponse time ang be simplified one.
efficiency. 8. Every design of the software system should convey its
Supportability also called maintainability. It is the meaning appropriately and effectively.
ability to adopt the enhancement or changes 4 What are the software design quality attributes and quality
made in the software. It also means the guidelines ? EF [SPPU : Dect9, Marks 7]
ability to withstand in a given environment, Ans. : Quality Attributes : Refer Q2.
Q.3 What are the design quality guidelines ? Quality Guidelines : Refer Q3.
ES [SPU : May-14, Marks 8; Dec.-22, Marks 9]
lines are as follows -
Ans. : The quality gui
1, The design architecture should be created using. following
Q5 Explain about various design concepts considered during
= a vi design. ‘GBP [SPU : April-15, Marks 6]
© The design should be created using architectural styles and ‘Ans. + The software design concept provides a framework for
itterns, ieee
i im ome : i" iplemeniting the right software,
i erent of Mesigh should peseey, oud desiep Following are certain issues that are considered while designing the
(© The implementation of design should ee
plementation of design should be evolutionary, so : :
. ti ‘© Information hic
that testing can be performed at each phase of ee formation hiding
implementation, © Modularity © Functional independence
2. In the design the dat, architecture, interfaces and components £.frehiomre f, Refhetoring
should be clearly represented, © Refinement # Design classes
© Patten
ees
A Guide for Enginecring Suden’s eesneer
Marks 6, Hayr83, Marks 8; Dec-22, Margy 9
ay-A
23s ofelabor
Refinement is actually # Pro
down design St8t¢BY proposed by
Stepwise refinement is 4 f0P
Niklaus WIRTH. :
“The architecture ofa program is developed by successively refining
levels of procedural detail.
The process of program refinement i analogous to the process of
refinement and paritioing that is used during requirements
analysis.
‘Abstraction and refinement are complementary concepts, The
majo difference is that - Inthe abstraction low-level details are
suppressed. Refinement helps the designer to elaborate low-leve]
details.
) Modularity :
‘The software is divided into separately named and addressable
‘components that called as modules.
* Monolithic software is hard to grasp for the software engineer,
hence it has now become a trend to divide the software into
number of products. But there is a co-relation between the number
of modules and overall cost of the software product.
‘The overall complexity of two problems when they are combined is
greater than’ the sum of complexity of the problems when
considered individually. This leads to divide and conquer
strategy (according to divide and conquer strategy the problem
is divided ito smaller subproblems and then the solution to these
‘subproblems is obtained)
eos
A Guide for Engineering Sinden
‘+ Thus dividing the software problem into manageable number of
ces leads to the concept of modularity.
is possible to conclude tl if we subdivide the software
indefinitely then effort required to develop each software
But this conclusion is invalid
‘component will become very sm:
because the total number of modules get increased the efforts
required for developing each module also gets increased.
th each effort gets increased.
That means the cost associated
‘The effort (cost) required for integration these modules will also
get increased.
The total cost required to develop such software product is shown
by Fig. Q6.1
The Fig. Q.6.1 provides useful guideline for the modularity and
is - overmodularity or the undermodularity while
developing the software product must be a
modularize the software but the modularity must remain near the
region denoted by M.
Etlot or cost
Region of under -
rmodulrly,
Q.6.1 Modularity and software cost
© Modularization should be such that the development can be
planned easily, software increments can be defined and delivered,
oat A Guide for Englucering Studentssecommmodited and joy,
reo t
yn be m0 ffectively. ty,
sed out ee
te carried :
overall stru
gs epee of etre op
re YTS COMPONENS ines
In are! a
roe is sed Y v0 Compare, %
of te 7 aystem elements. Architecture pr ‘
le s
components ee the software SYSTEM SO that jin, te
asic framework for may
canbe conducted in systematic manner
In arcitecrural design various system models can be used a
+ In art
these are
Model
‘Structural model
Funetioning
‘Overall architecture of the system can pe
represented using this model.
Framework | This model shows the architectural framewory
and corresponding applicability.
Dynamic model | This model shows the reflection of changes on
the system due to extemal events,
Process model |The sequence of processes and their
functioning is represented
Functional model | The functional hierarchy occurring in the
system is represented by this model.
is model,
7 Explain the following fundamental software design concep
i) Abstraction ii) Architecture 7?)
OF [SPPU : June-22, Dec.-22, Marks 9]
: pany ‘on means an ability to cope up with the complexity.
‘ohare design occurs at different levels of abstraction. At each
stage of software design
Process levels of , te
plea rinedecotees e of stats shoud
Design Engineering
‘© At the higher level of abstraction, the solution should be stated in
‘ond terms and in the lower level more detailed description of
solution is given.
moving through different levels of abstraction the
abstraction are created.
* Whi
procedural abstraction and
The procedural abstraction gives the named sequence of
instructions in the specific function. That means the functionality
of procedure is hidden, For example
Search the record is a
n details are hidden
. Enter the name, compare each name of the recor
entered one, if a match is found then declare succes
declare ‘name not found’)
in data abstraction the collection of data objects is represented.
For example for the procedure search the data abstraction w
record. The record consists of various attributes such as record ID,
name, address and designation.
‘Architecture : Refer Q6
.ccording to Brad Appleton the design pattem can be defined as -
It is a named nugget (something valuable) of insight which
conveys the essence of proven solution to a recurring problem
within a certain context.
In other words, design pattem acts as a design solution for a
particular problem occurring in specific domain. Using design
patter designer can determine whether-
‘+ Patter can be reusable.
‘© Patter can be used for current work.
* Patter can be used to solve similar kind of problem with
different functionality
Q.8 What do you understand by refactoring ? Give the importance
of refactoring in improving quality of software.
EF [SPPU : May-15, Marks 6]
eons
A Guide for Enginecing StudentsDesigu Engineerin
+ for simplifying the design without
hanging the function or behaviour. Fowler has defined refactoring as
changing s
“Th aes of changing a software system in such a way that the
he
sxtemal behavior of the design do not get changed however the
internal structure gets improved”.
Importance of refactoring +
The redundancy can be achieved,
hms can be eliminated or can be replaced by
‘Ans. : Refactoring is necessa
viour.
+ Inefficient algoritl
efficient one.
Poorly constructed or inaccurate data structures can be removed
or replaced.
+ Other design failures can be rectified,
The decision of refactoring particular component is taken by the
designer of the software system,
Q.9 Differentiate between abstraction and refinement.
a [sert
ec-12, Marks 4]
Ans, : Refer Q.6 (i) and Q.7 (i)
Q.40 Discuss the statement, "Abstraction and refinement are
complementary concepts.
‘Ans. + Abstraction and refinement are complementary concepts. The
major difference is that - in the abstraction low-level details are
suppressed.
Refinement helps the designer to elaborate low-level details.
Q.11 What do you mean by the term cohesion and coupling in
context of software design ? How are these concepts useful in
arriving at a good design of a system? E@ [SPPU : Dec.-16, Marks 5]
Ani
‘ohesion
© With the help of cohesion the
formation hiding can be done.
+ A cohesive module performs only “one task” in software procedure
With little interaction with other modules. In other words cohesive
module performs only one thing.
A Guide far Engine tents
* Different types of cohesion are
1 Ci
‘dentally cohesive - The modules in which the set of
sks are related with each other loosely then such modules are
coincidentally cohesive,
2, Logically cohesive - A module that performs the tasks that are
logically related with each oth: :d logically cohesive.
3. Temporal cohesion - The module in which the tasks need to be
executed in some specific time span
cohesive,
cal
called temporal
4, Procedural cohesion - When processing elements of a module
are related with one another and must be executed in some
specific order then such module is called procedural cohesive.
5, Communicational cohesion - When the processing elements of
module share the data then such module is communicational
cohesive.
‘+ The goal is to achieve high cohesion for modules in the system.
Coupling
* Coupling effectively represents how the modules can be
“connected” with other module or with the outside world.
‘© Coupling is a measure of interconnection among modules in a
program structure,
* Coupling depends on the interface complexity between modules.
© The goal is to strive for lowest possible coupling among modules in
software design.
‘© The property ‘of good coupling is that it should reduce or avoid
change impact and ripple effects. It should also reduce the cost in
program changes, testing and maintenance.
# Various types of coupling are
i) Data coupling - The data cou
passing or data interaction,
cca
ing is possible by parameterii) Control
control cou}
Common couy
global data is shared among the modules,
i
ix) Content coupling ~ Content coupling
makes use of data or control information mai
Software Engineering
coupling ~ The modules shi
module.
@.12 Give the difference between Cohesion and Coupling.
are related control data
= In common coupling common data or a
.g occurs when one module
ied in another
EP [SPU : Deci-22, Marks 9]
Ans.
sr. | Coupling Cohesion
=|
1. | Coupling represents how | In cohesion, the cohesive
the modules are module performs only one
connected with other thing.
modules or with the
outside world
Z ‘th coupling interface _ | With cohesion, data hiding
complexity is decided. can be done.
3. | The goal of coupling is to | The goal of cohesion is to
achieve lowest coupling. | achieve high cohesion.
4. | Various types of couplings | Various types of cohesion
are -Data coupling, are - Coincidental cohesion,
Control coupling, Logical cohesion, Temporal
Common coupling and | cohesion, Procedural
Content coupling. cohesion and
Communicational cohesion.
A Guide for Engineering Students
“'A cohesive design should have high cohesiveness and
low coupling”,
SBE [SPU : April-15, Marks 4]
Ans.
Low coupling is an approach to interconnecting the components in
a system or network so that those components, are less dependant
upon each other.
High cohesiveness in
that module perform only one task.
Ideally the components in the system must be least dependent on
each other and every component must perform only one task at
particular instance.
Hence it is said that the system must have high cohesiveness and
low coupling.
3.3 : Design Model
ibe the design model with a neat diagram and give the
lity of each layer of design model to analysis model.
E@ [SPPU: Dec-11, Marks 8]
Ans. :
+ The process dimension denotes that the design model evolutes due
to various software tasks that get executed as the part of software
process.
The abstract dimension represents level of details as each element
of analysis model is transformed into design equivalent.
QUAL the dashed line shows the boundary
between analysis and design model.
In both the analysis and design models the same UML diagrams are
model the UML diagrams are abstract and in
design model these diagrams are refined and elaborated. Moreover
in design model the implementation specific details are provided.
In following
coat A Guide for Enghnccring Sudentsdeployme
elements have to be developed in seq
Fig. 2.14.1 Dimension of design model
Q.15 Explain the elements of design model.
‘5 [SPPU : May-13, Marks 8]
Ans. : Following are the elements of design model -
4. Data Design Elements
* The data design represents the high level of abstraction.
* This data represented at data design level is refined gradually for
implementing the computer based system,
—_—_—___
qeoay A Guide for Engineer
reat impact on the architecture of software systems.
Hence structure of data is very important factor in software design.
Data appears in the form of data structures and algorithms at the
program component level,
At the application level it appears as the database and at the
business level it appears as data warehouse and data mining.
lan Eloments
‘The architectural design gives the layout for overall view of the
software. Architectural model can be built using following sources -
‘© Data flow models or class diagrams
# Information obtained from ap
+ Architectural patterns and styles.
3. Interface Design Elements
cation domain
Interface Design represents the detailed design of the software
system. In interface design how information flows from one
component to other component of the system is depicted. Typically
by operations or bypassing messages
Fig. 0.15.4
|. Component Level Design Elements
The component level design is more detailed design of the software
system along with the specifications.
The component level design elements describe the internal details
of the component.
* In component level design all the local data objects, required data
structures and algorithm Is and procedural details are
exposed.
—
os A Gide for Engineering StadensDesign Engineering
the
component form.
«The order is dependent upon
objects can be interfaced x
o
Dependency
relation
Fig. 0.15.2 Components
. Deployment Level Design Elements
; The ployment level design elements indicate how software
functions and software subsystems are assigned to the physical
computing environment of the software product.
+ For example web browsers may work in mobile phoned or they
ient PC or can execute on server machines.
may run on
‘Wabiephone lien Po
Tee web]
bowser browser
‘Server machine
—
ie
broweae
SSF (SPPU : May-14, Marks 8]
At the program component level, the data
structure is associated with algorithms
+ Databases : At the application level data model is converted to
databases, é
+ Datawarehouse : At the business level, the collection of
information stored in various databases is identified and
Datawarehouse is formed.
Guideline for Data Design :
+ The systematic analysis principles applied to function and
behaviour should also be applied to data.
+ All the data structures and operations to be performed should be
identified.
+ A data dictionary should be established and used to define both
data and program design,
+ Low level data decisions should be deferred until late in the design.
rary of usefull data structures and operations must be
developed well in advance.
+ A software design and programming language should support the
specification and realization of abstract data types.
Q.17 Whi
are the deployment level design elements ?
EE [SPPU : Dec.-11, Marks 4]
Ams. : Refer Q.15 (5).
coo
3.4: Pattern - based Software Design
Q.18 Explain the template used for representing design pattern.
The design pattern can be usedTate for Design Pattern ;
a n pattem is given
ha of the 4
cae rhe name must be short and
expressive, :
: “The purpose of the design pattem
heesttd this section.
|___—Tcmonym for the pattern is existing
ane then it should be mentioned. :
TMfotvation: It denotes nature of the problem ‘along with
supporting exampl i
Tr describes the design situation in which the
pattern is applicab
describes the classes that are required to
implement the problem
Tt includes the responsi
that are used in the pattern.
It describes all the
share some responsi
Tt describe various design forces of the
pattern.
If any related design patterns exist then
those are described under this section.
| those are described under this section. _}
“Applicability +
‘Structure:
1s of the classes
Participants :
jing classes that
Collaborations :
‘Consequences :
‘Cross References :
3.5: Architectural Design
Q.19 Explain why it is necessary to design the system architecture.
What are the system factors affected by system architecture ?
Expl
Ans,
* Architectural design is a specialized activity in which using
specific architectural styles, by considering the system’s structure
and by understanding the properties of system components a large
complex system is built,
eos
+ The person who is responsible to design such a system is called
software architect in software engineering.
+ The architectural design gives the layout of the system that is to be
In short the program structure is created during
ctural design,
«In architectural design process -
i) Basie structural framework is established.
ii) Major components of the system are identified.
established.
iii) Communication between these component:
Factors Affected by System Architecture
1, Business importance : The software system which has to be bi
should have some business importance. Such a system should
remain important for a long span of time.
2, System age : If the system becomes very old then it becomes very
difficult to modify the architecture of such a system. Because
changing such system. architecture means disturbing previous
functionalities of that architecture:
3. System structure : The modularization in the system structure is
more preferred. If the system is built into then modules then it
becomes easy to modify such system as per the requirements.
4, Hardware procurement pol Sometime company policies
may get changed for the hardware. For instance : if a company
decides to built the system on servers instead of mainframe, then it
becomes very expensive to change such hardware support.
3.6 : Design Decisions
2.20 What is architectural design ? Explain architectural design
decisions.
Ans, : Architectural Design : Refer Q.19.
Architectural Design Decisions :
+ While building the software architecture many important de«
ions
can be made about
A Gulde far En1 Is it possible t0
cloped?
y across all th
uniformly acT0s re
bute the system
to distribute
2. How 0 6
processors
* chosen forthe
44, What isthe purpose ofthe syste
ow to mae the subsystem COD.
sm development ?
into the operation ?
i g model with
Q.21 Explain the 4#1 view model
“Ans: There is 41 view model of software architecture. TI
1. Logieal View
cbject classes. The system requirements
logical view of the system.
+ This view represents the run time interacting
hese views
The logical view represents the key objects or
can be correlated to the
2, Process View
processes of the system.
: This view represents how software is
‘components that are implemented by a single
3. Development
decomposed
developer or a development team.
4, Physical View : This view shows how the system hardware and
software components are distributed across the processors in the
system, This view is used by system engineers for planning the
software development a
A Guide or Engineering Suaents
0.22 What is software architecture ? Explain data centered and
* object oriented architectural style of the system.
[EB (SPPU :June-22, Marks 9]
‘Ans. : Software Architecture is a structure of systems which consists
of various components, externally visible properties of these
components and the inter-relationship among these components.
1) Data Centered Architecture style
In: this architecture the data store lies at the center of the
architecture and other components frequently access it by
performing add, delete and modify operations. The client software
requests for the data to central repository. Sometime the client
software accesses the data from the central repository without any
change in data or without any change in actions of software actions,
A Guide for Englucering Students
qosFig, 0.22.1 Data centered architecture
« Data centered architecture possess the property of
interchangeability. Interchangeability means any component from
the architecture can be replaced by a new component without
affecting the working of other components.
+ In data centered architecture the data can be passed among the
components.
+ Indata centered architecture,
Components are : Database elements such as tables, queries.
to co-ordinate the object operations,
Se
A Gul for Engl
re Engineering 3-2
Design Engineering
Class name
sc Crass ae
Attributes Iaetbiee
Operations | —Mass2995 Operations
Mocsages
Glass name
Be
Attributes Atnbutes
Operations }+— Messages Operations
Fig. .22.2 Object oriented architecture
Q.23 Explain client server model of software architecture
Ans. : The model in which server contains the set of services and
client can use those services is called the client-server model.
* In client-server model the client should know the names of the
servers and the services offered by them. However, it is not
necessary that the server should know the client.
‘Components of
The vat of sarvers
containing various
orvices
Set of clients which makesofware Engineers
nt makes the request to thy
nication, the ¢
'« Inclient-server commt
server responds the
he server responds it. The typicg,
ent.
server and the
+ The client has to
client-server model is 2s
Client t
shown below.
Database:
‘server
Fig. 0.23.2 Client-server model
pipe and filter pattern
the functional transformations can
ig the output.
transforms can exeeute in sequence or in pa
+ When transformations are represented a& separate process, this
terms that are used in UNIX Operating System.
+ In pipeline model if transformations are sequential with data
processed in batches then this architecture is called batch
sequential model,
Send
reminder
er bis.
3
ation architecture? Also mention uses of it.
application architecture is an architecture for the
software systems that can meet various commonly found requirements
in business logic.
Fig. 0.24.1 Invoice processing system
—
3.9: Application Architectures
.25 What is app
Ans. : The gent
Use of Generic Application Architecture
The generic application architecture can be used as
1, The starting point for architectural design process : The
design of the generic application can be used to understand the
purpose of the system getting developed,
2. For organizing the work of development team : The generic
application architecture specifies the stable structural features of
the system. Using these features it is possible to analyze all the
sks to be performed while building the system.
ing the reusable components : The generic structure
helps in identifying the components that can be reused during
system implementation.
<<The check list for
be prepared with the help
design checklist
can
jing the
4, For deciding
requirements or system components
jc application architecture.
f generic application are! ne
7 ulary for talking about the tyPe of appl =
dangle uildin,
Ns ee concepts get introduced during the application .
r
oe cepts can be termed by the vocabulary found in generic
se con
application architecture.
pr ok
3.10: Component
0.26 What is component ?
Ans.
‘© "Component is a modular,
system that encapsulates the
deployable and replaceable part of
.plementation and exposes the set of
interfaces”.
‘© Components are the part
are important factors in achieving the objectives an
of system to be built.
* Components can communicate and collabo:
components.
+ Design models can be prepared using object oriented views and
conventional views.
3.11 : Designing Class based components
of software architecture and hence they
id requirements
rate with other
Q.27 List and explain the design principles
‘Ans, : There are four design principles that are used during the
component level design. These principles are -
1. The Open-closed Principle : This principle states that - A module
or a component should be open for extension and should be closed
for modification. A designer should design a component in such @
—————————
Keows A Guide for Engineering Sten
manner that some functional
doing so there should not be an
the component itself.
2. The Liskov Substitution Principle : This principle states that -
subclasses should be substitutable for their base classes. This
principle is proposed by Barbara Liskov. A component that
contains the base class and if that component works properly then
the same component should work properly even if the derived
class of that base class is used by the component as a substitute.
3. Dependency Inversion Principle: The components should be
dependant on the ‘other abstract components and not on the
concrete component. This is because if some component has to be
extended then it becomes easy to enhance it using other abstract
component instead of concrete component.
ies can added to it if required but in
'y change in the internal design of
4, The interface Segregation Principle : Many client specific
interfaces are better than one general purpose interface. According
to this principle, designer should create specialized interfaces for
cach major category. So that the clients can access the interfaces
based on the category. Ifa general purpose interface is created then
multiple clients may try to access it for different operations at the
same time.
Q.28 What are elements of design model ? What are the elements of
architectural design ? Explain design principles ?
[> [SPU : June-22, Marks 9]
Ans. : Elements of Design Model : Refer Q.15.
Elements of Architectural Design :
1. Components : Components are independent units of software that
perform specific functionality. The components are then combined
to other components for building a system.
—
eons A Gale for Enpinering Sudents2. Connectors : Connectors are
nents together. For eX
eee ¢ components can co!
cing tnertaces th
ine define the methods that compone!
3. Interfaces
with each other. Interfaces
qo exchange data and perform actions.
‘Architectural patterns are
4. Architectural patterns P Le ee
aretinhed solutions to common software architecture problems.
Seer txemple ~ repository model, layered model, client server
model.
: Architectural styles are sets of principles
form the overall structure of a software
5. Architectural style
and guidelines that int
system. For example - Peer-to-Peer architecture.
6. Deployment architecture : Deployment architecture is the
process of planning and designing how a software system will be
Geployed on hardware and software infrastructure.
= Design Principles : Refer Q.27
3.12 : Conducting Component-Level Design
eee
2.29 Explain the quidelines of component level design
Ans.:
+ Ambler suggested following guideline for conducting component
level design -
+ Components : Components are the part of architectural model.
The naming conventions should be established for components.
The component names should be specified from the problem
domain. These names should be meaningful.
+ Interfaces : Interfaces serve important role in communi
collaboration. The interface should be drawn as a circle
line connecting it to another element. This indicates that
exes
A Guide for
element to which it is connected offers the interface. The interface
howld Flow from left side of oO
component. Only important interfaces
must be drawn. r yim *
+ Dependencies and is
ferfaces : The dependencies must be shown,
from left to right. The inheritance should be shown from bottom to
top ic. from derived to base class. The
component
interdependencies should be represented via interfaces.
[pe aah vie metas om
1.30 What Is the neces:
rules to keep in mind wh
identify user, tasks and environmental techniques. Based on user
tasks, user scenarios are prepared. Such user scenarios help to design
user interface objects and corresponding actions.
‘The 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 consi
cent.
2.31 What are the design principles for reducing the user's memory
load in user interface design ?
WP [SPPU : Dec.-12, Marks 6, May-14, Marks 8]
Ans.
1. Do not force the user to have short term memory : When user is
involved in complex tasks then he has to remember more. The user
interface should be such that the user need not have to remember
1 Guide for Engineering3:28
jieved by providi
his can be achieve m
oj results. And t
past actions an
proper visual interface,
2. Establish meaningful defaults Tt
chould be available to the i ie racers
default font
the user can set ‘the
i the user
his, there should be some reset option available to in
this,
ginal values.
to get back the original val
fa For quick handling of the system such
terface. For example control+s
he file. Hence
Meaningful default options
ple in the Microsoft worg
3. Use intuitive shorteuts +
short cuts are required in the user :
ey is for saving the file or control+0 is for opening the fi
tse of meaningful mnemonics is necessary while designing an
interface,
44. The visual layout of the interface should be realistic : When
certain aspeevfeature of the system needs to be highlighted then
use of proper visual layout helps a casual user to handle the system
with ease, For example in an online purchase system if pictures of
Master card/Visa card are given then it guides the user to
understand the payment mode of online purchasing,
5, Disclose the information gradually : There should not be
bombarding of information on user. It should be presented to the
user in a systematic manner. For instance one can organize the
information in hierarchical manner and narrate it to the user. At the
top level of such hierarchi
I structure the information should be in
abstract form and at the bottom level more detailed information
can be given,
So
A Guide for Enginecring Studen’s
|
0.32 Explain the user Interface design
TGP (SPPU : May-11, Marks 6]
Ans. : 1) System Response Tima : Any user hate the delayed response
time,
Systam longth is the amount of ime
taken by the system to respond
‘timo characterlates
Variability variation of ime from average
‘esponse time (i system responds within 5
seconds and if we get response in 4.8 of 5.2
seconds then itis called variably)
Fig. 0.32.1
2) Help facilities : This is the most essential criteria for any user
“interface this makes the system more interactive. The help can be
on-line help or it can be in the form of user manual. Even some
software provide the help in the assistance form i.e. the question
may be asked by the user and the answer given by the system will
serve as a help to the user.
3) Error handling : Errors and warning cause the frustrations to the
user. Sometimes the error messages are in very vague form. For
example : Application ABC has encountered error 1033. Now
such type of error messages do not direct the user about what went
wrong.
Thus error messages should be so effective that they should bring
qualitative interaction between the user and the system,
4) Menu and command labelling : There are typically two ways by
which the user handles the system ie. keyboard and mouse. The
system can be handled using commands by the power user(i.e.
knowledgeable and frequent users) whereas any ordinary user
makes use of GUI and he prefers not to use any command as such.< are mostly wsed by tl
interfaces used
ides the guideline for as
x guideline also pro
ses the nee
impairments.
The aces
technology that ade
6) internationalization
«+ There are situations
localised purpose and for local languas
required in other sie ofthe county then existing interface
wwith more oles modifications.
“The real challenge is to develop globalised software. That means
the user interfaces should be designed to accommodate a generic
core functionality. This functionality can be used by any user
belonging to any country.
The Unicode standard has been developed to handle, the
challenges of managing the natural languages with lots of
characters and symbols.
0.33 Explain the user interface design steps.
UG [SPPU : Dec-12, Marks 8]
‘Ans. : Following are the commonly used interface design steps -
1. During the interface analysis step define interface objects and
corresponding actions or operations.
2. Define the major events in the interface. These events depict
the user actions. Finally model these events,
3. Analyse how the
view.
jn which the user interface is developed for
ge. If the same interface is
is used
terface will look like from user's point of
4. Identify how the user understands the interface with the
information provided along with it.
ie for Engincering Sulen®s
le desi
vile dienng the interface sofware engineer communicates the
heat dean © his thinking about the interface, software
bottled the sketches. Get it approved from the user and
on defining objects and corresponding actions.
‘+ While designing the interface the designer has to follow -
© Golden rules
© Model the interface
(© Analyse the working environment
0.34 Explain guidelines for com
3 component level design ani
for user interface design. inp
en
les
7 S& [SPPU : June-22, Marks 9]
Ans. : Guidelines for Component Level Design : Refer Q.29.
Principles for User Interface Design : Refer Q.30 and Q.31.
END.»
—
A Guide for Engaccrng Sinden‘unit IV
| Management and Estimation
POP akan
4.1: Project Initiation
4 Explain project management life eycle.
Ans.
«Project is defined as a temporary endeavor undertaken to create &
unique product, service, or result.
«Projects ean be large or small and involve one person or thousands
of people. They can be done in one day or take years to complete
Examples of projects are :
1. School implements a portal for tracking the progress of the
students
2. Apharmaceutical company launches a new drug,
3. Mobile company introduces a new device.
«Project management is the application of knowledge, skills, tools
and techniques to project activities to meet the- project
requirements.
«The project management activity passes through various life cycle
activities, These activities are as follows
© Initiation, planning, execution, monitoring and cont
closing. These are described as below :
an
software
management life cycle
Q.2 Explain four major sections of project management plan.
TG [SPPU : Dec.-18, Marks 5]
‘Ans. : Project management plan
The four major sections of project management plan are -
4) Project summary section :
It gives high level overview of the project.
It gives start date and end date of the project, project leader,
contract at customer end, project objectives, milestones,
deliverables, major commitments with customer.
The assumptions made are exp! sted in this section.
2) Project planning section :
This section
procedures.
the outputs of executing various project planning
© It includes deseri
ion of development processes being used,
requirement change management processes, effort and scheduling
estimates. .
also specifies the environment and tools required for execution of
project.
‘The quality plan and the risk management plan are also given this
section.
—
Comet A Guide for Enginering Suaentsi also specifies
be taken. I
surements
of project
and st
cifes the project team
section specifies #
ities of team members.
team.
also specifies the roles and TeSP
‘4.2 : Planning Scope Management
nese
anagement with an example.
maaan ee [SPPU : Oct-18, Marks 5]
scope
ams + Definition of project scope management : Project SSOPt
ne mont includes the processes involved in defining am
cor is not included in 2 project.
‘management
controlling what work is
Planning scope management process
«Planning scope management is an activity of planning how a scope
will be managed throughout the life ofthe project.
, project charter,
nal process assets,
4s Afier reviewing the project management I
enterprise environmental factors, and organi
the project team uses expert judgment and meetings to develop two
important outputs: the scope management plan and the
requirements management plan.
————_—
eons A Guide for Enginccring Students
management
Scape management
Requi
plan aquirements
management pian
Fig. Q.3.4 Planning scope managemant
(1) Scope management plan : The scope management plan can be
formal or informal depending upon the nature of the project.
The scope management plan contains following information -
© How to write detailed scope statement : This aspect
provides the information about some template that
demonstrate the writing of detailed scope statement.
How to create work break down structure : This section
provides suggestions and resources for creating the work
breakdown structure,
°
°
How to maintain work break down structure : Initially
the WBS often changes , but the scope management plan
provides the gui jin the work break down
structure and how to get it approved.
line to
°
How to obtain the acceptance about the deliverable:
‘The acceptance criteria is defined in this section which is
important aspect for making the project payments.
‘How to handle request about change of project scope :
This section of scope management plan define how to handle
the project scope. This handling is using the
nal guideline about approval of changes in the
°
qos_—
143 : Creating the Work Bre?
vakdown structure with
Q.4 Explain work breaks ae
i Jkdown Struct
“Ans. Definition of Work Brea
down structure is 2 deliverable oriented grOUPINE of t
surah projet. The purpose of WBS isto define the sc0PS ©
ject.
the work
ing the
vnodk break down structare is created after coll
requirements and defining the scope. /
jement plan, scope statement, requirements
Tee project scope mane
pie paar and
docomentation, enterprise environmental factors,
organizational process assets are the primary inputs for creating 2
wes.
«The WBS is created using decomposition technique. That means,
project is decomposed into manageable chunks.
+ There aze two types of outputs of the process of WBS and those
are ~ i) the scope baseline and ii) updated project documents. The
scope baseline contains approved project scope statements.
+ Example of WBS : Fig Q4.1 represents the sample work
breakdown structure( WBS) created for the task Website building.
This structure is similar to organizational chart.
—_—_—_—_——
. A Guide for Engh
aaase
mprmerstion| | cevicrrert sissy oe
Fig.0.4.1 Sample work break down structure (WBS) in chart form
Q5 What is work breakdown structure ? How is it related with
scope management and explain 8/80 rule.
EB (5PPU :June-22, Marks 3]
Structure : Refer Q4.
«+ The 8/80 rule in project management states that the lowest level of
work should be no less than 8 hours and not more than 80 hours.
Q.6 What are the advantages of work breakdown structure ?
Ans.
Ans. : Work Break
1. WBS forces the team to create detailed step. It helps to clarify
jes, bring out assumptions, narrow the scope of the
project, and raise critical issues.
. It lays groundwork for budget and schedule.
}. The work breakdown structure provides for a level of detail that
makes it easier for the project manager to hold his team members
‘ble and responsible for the completion of their tasks.
down structure allows for the allocation of timeManagement and Estimation
structure ca
down 7
et ization of the risks.
5, The wor
jdentifieation and mit
reakdown
skills
increase of product
tionary
he effective
work and
6. The work bt
identification of
there by helps
Q7 Write short note on > WBS dict
seis required to complete
element of the Work Breakdown Structure.
+ It provides the team with the information they need to produce
Ans. :
i < information ty deliverables th
1 y isa document that provides deta eee
+ teen BS em srsaizaton standards ject egurements and
about : :
| IRiWBS dictionary is the worklacivites defined for every work te
ne 4.4: Scheduling
«For each WBS element, the WBS Dictionary may include @ brief
definition of the scope or statemet t of work, defined deliverable(s), Q.8 What are different processes in project time management ?
a list of associated activities, and a list of milestones. del S&P [SPPU : May-18, Marks 5]
‘s It-can also include information such as resources required, an Ans. : Definition of project time management : Project
requirements, and management involves the processes required to ensure timely
estimate of cost, contract
on of a project.
technical references to facil
« ‘The WBS dictionary is also an important part of the scope + The activities involved in Project Time management are enlisted
baseline.
«© When the stakeholder read the detailed descri
dictionary, they get better understanding about the scope of the
work.
«+ Sample WBS Dictionary : project deliverables are produced.
Most organizations use Microsoft Word to create and maintain a WBS 2. Activity sequencing : All the correlated project acti
dictionary. identified and documented in this step.
Online Shopping System 3. Activity resource estimation : This is a step of estimating how
‘Work Package ID : XXX1234 many resources a project team should use to perform project
acti’
Work Package Name : Items Display Screen
- 4, Activity duration estimation : In this step, the number of work
items availble for online purchase. The cost and available quantity eese aaa
sae 5. Schedule development : Various tasks conducted in this step
Soo
A Guide for Engineering Students eos A Guide far Exainecrig Selene,
Gena"«6, Schedule control
the pO
fining activities and det
agement is duration es
‘i The acl
worked on an activity plus
After det
cep in time mani
Definition of activity durat
defined as the actual amount of
hours required to compl
Effort and activity duration are two distinct entities.
1 for esimating activity duration various ‘inputs are used: This
includes ~ activity lists, schedule management plan, activity
resource requirements, project scope statements and s0 On.
ity duration process are :
«The outcome of estimating act
ji) Project duration estinates and
ii) Updated project document. People doing the work should help
create estimates, and an expert should review them.
«There aré various types of estimates produced during this process.
Out of which the most common type of estimate is - three point
estimate,
‘The three point estimate is an estimate that includes ait
1) Optimistic,
2) Most likely, and
3) Pessimistic estimate,
such as
1) Three weeks for the optimistic,
A Gul for Eng
3) Five weeks for the pessimistic estimate.
culate activity expe
ot Wvity expected time and variance for given
problem.
USP [SPPU : June-22, Marks 9]
Activity 1D | Optimistic | Most likely | Pessimistic time
time (t) | time ty ‘t
Job 1 1 3 5
Job? 2 6 9
Job 3 2 3 5 |
Job4 5 8 10 |
Job 5 u is 2x
Job 6 2 5 8
Job 7 3 3 3
Job 8 2 4 6
‘Ans. : Formula used for calculating
1) Expected time =. wt
7]
‘The values of expected time and variance for each activity are
calculated using above formula and erilisted in the following table.
2) Variane
Activity Expected | Variance
1D time
Job 1 1 3 3 3 04s
Job 2 2 6 9 5.83 137
A Guide for Engineering Studentsseptruare Engineering 4.
12 Project Plannin,
Management and Estimation
0.44
Job 8 2
Gat What ie cOCOMO II? What areas does COCOMO 1
address ? 1 [SPPU : June-22, Marks 9)
in 1981 by Barry Boehm to give an
model is developed
fof man
OMO predicts the efforts and schedul
f the software. COCOMO stands for
Ans. This
estimate of the numbe
software product. COC
software product based on size o
*COnstructive COst MOdel".
COCOMO has three different models that re
COCOMO model estimate:
of Code, Various equations
nemonths it will take to develop a
le of a
lect the complexity -
s the software
1) Basic model : The bi
development effort using only Lines
in this model are -
ay (KLOC)*
6 (E)*
om
uu
din person-months.
Where E is the effort apy
Dis the development time in chronological months.
KLOC means kilo line of code for the project.
P is total number of persons required to accomplish the project.
The coefficients a, b,, 6, d,, for uiree modes are as given below.
Softwar
oftware a ;
projects S 4
Organic 2A
Semi-detached | 3. 25 038
Embedded 36 25 0.35
i 25 | 0.32
Table 11.1
model. this estimation model makes use of set of
attributes" to compute the cost of software.
The cost driver attributes get a 6.
- nea -point scale ranging from " a
to "extra high". These ratings can be viewed as ing from “Ye. 3
‘The formula for effort calculation can be -
Yen, ow, Nominal Heh Very Extra
high high
E = a,(KLOC)" EAF person-months
The values for a, and b, for various class of software projects are -
Software project a, b
Organic 3.2 1.05
Semi-detactied 3.0 112
Embedded 28 1.20
Table a.14.2
same as in basic COCOMO
The duration and person estimate
model. i.e.
\é months months
D= a)
jie. use values of ¢, and dy coefficients that are in Table Q.11.1.
p = E/D persons
“A Guide for Engineering Stena
3) Detailed COCOMO mo
equations fot
‘model can estima"
ach of development ph
ation with
ase,
different develo}
of
The experiment
allowed in this model.
Using the detail cost drivers,
. le.
cach phase of the eye
carne the aig ot sete GO A,
Ans.
«Milestones are significant
duration.
«Normally proj
the project development,
«+ On the Gantt chart we can mark any desired ta
centering its duration 2s 2270.
«Following is 2 SMART crteri
developing milestone.
fo Specific : The milestone should target a specific. area of
improvement or answera specific need.
‘© Measurable : The milestone must be quant
low for measurable progress.
+ The milestone should be real
sting constraints.
ign with other, business
an estimate is determined for
+ event on te project. This event has 2210
ect developers prefer to meet the milestones during
especialy forthe large projects.
1k as milestone by
ia that is to be followed while
le, or at least
based on
The milestone should
objectives to be considered worthwhile,
© Time-framed : The milestone should have definite deadline
Fig.o.24
0.13 Give the advantages and disadvantages of Gantt chart.
‘Ans. : Advantages
Various advantages of using Gantt chart are as given below
. The Gantt chart provides the standard format for displaying the
planned and actual schedule information.
They are easy to create and understand,
‘The progress of each individual task can be tracked.
Milestone for particular task can be set and developer can get
acknowledged with it,
Disadvantages :
. The relationship or dependencies among the task is not very clear
using Gantt chart.
If large number of tasks are involved inthe project, the Gnatt chart
becomes extraordinarily complex.
. The size bar does not indicate the amount of work, it simply shows
the duration.
The cost of the project can not be depicted in the Gantt chart.
-
a
eons “A Gide for Engincering Stdentspat
al project
ation.
series of
daring which te prec 20M
certs of et Stk float ig
al path ha out delaying a
+ Thea
the amount of time an
succeeding activity ot
'A Network Diagram is '
Sehedul. A network diagram in project mands
planning and tracking the project fom beginning to
represents projects critical path as well as the scope for the
activity may be delayed with
the project finish date :
visual representation of & projects
gement is usefil for
project.
«Consider, some hypothetical tasks, duration and dependencies.
[task Duration Dependencies |
I
2 TI(Ml)
13 15 TI (M2)
ma] 7 | T7203)
1s | 20 | TIMI)
16 | 5 __|14,75(M4)
TY] 4 | T6(M6)
T3] 8 | T7(M3)
1) | 10 | 76,78¢M7)
TIO} 12 | T9(M8)
A Gale for
La ‘The milestones of various
"TNE network diagram for these
Fig. 0.14.1 Network dlagram
+ The minimum amount of time required by the project can be
computing the longest possible path to reach from begin to end.
This path is referred as the critical path in the project and the
activities along this path are referred as the eit es. In
Fig. Q.14.1 critical path is stiown by thick edge.
115 Define the terms - Free slack, early star date, total
forward pass, backward pa nish. ng, (el ee
Ans. : Free slack or free flo
be delayed without delaying the early start date of any immediately
following activities.
+ The early start date is the earliest pos
start based on the project network logic.
a
ie an
+ Total slack or total flo
delayed from its early start without delaying the planned project
finish date,
——
Gul for Engel Sent4217 Project Pl
Software Engineer
alate five slack and total slack by doing ,
through a network diogram.,
he carly start andl early finish, 4
sk dingram determines the fgg
dates for each activi
+ Project managers cale
forward and backward
+A forward pass determines
backward pass through the networ
start and late finish dates for each activi
«The early finish date is the earliest possible time an activity cay
finch based on the project network logic. The early stat plus the
duration ofthe first activity is equal to the early finish date of thy
first activity.
+ The late start date is the latest possible tim
begin without delaying the project finish date.
Q.16 Explain the three techniques of shortening the project
schedule using critical path.
‘Ans, : There are three techniques of for shortening the projec,
schedule |
1. By adding more resources or by changing the scope of the project
the project duration can be shortened.
2, Crashing : This is an activity for obtaining the greatest amount of |
schedule compression for least incremental cost. For example -
temporary worker could be hired to work in parallel with the other
‘worker to speed up the task or A 2 week task with one person
working 50 % could be shortened to 1 week if the person is
assigned 100%.
3, Fast tacking : This is a technique in which the activities are
conducted in parallel or in overlapping manner instead of doing |
them in sequence, For example - instead of waiting for complete
analysis , some part of coding can be started. i
Q.17 Write short note on - PERT.
Ans. :
ean activity mighy
+ PERT is a network analysis technique used to estimate project
duration when there is a high degree of uncertainty about the
individual activity duration estimates,
Scars
A Guide for Engineering Studer?
Plann
mu
estimates based on using gn Me Ese,
8 Optimigtig UAE. Th
estimates oF activity durations, oy ™ is
+ OF three,
‘The formula used in PERT 4g
based on three point estimate
4 The three point estima
Rate ee
pes ic estimates, bee
|. Formula is
PERT weighted average
_ Optimistic Hime + 4x Most likely time + Prec
is essimistic time
« Example : Given that
Optimistic time = 6 days
Most likely time = 9 days
Pessimistic time = 12 days
then PERT weighted average = S*(4%9) + 12
se
‘© Thus it would be 9 days using PERT.
+ The main advantage of PERT is that ita
tempts to address the is
assoéiated with duration estimates, Se
9
Q.48 An B and D project has alist of task to be pefommed wi
time estimates are given in the table as follows es ee
‘Activity | Activity Optimistic | Most] Pessimistic
name likely
1-2 A 4 6 8
1-3 B 2 3 1
1-4 c 6 8 16
2-4 D 1 2 2
3-4 E 6 7 G
3-5 F 6 1 3
4-6 G 3 s z
4-7 H 4 i 2
a ener TTT
A Gale for ElerngStdets