0 ratings0% found this document useful (0 votes) 15 views32 pagesFSD Imp
Fundamental of Software Development important questions use for competitive exams,university exams and for interview
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
«students will be able to
I recie rware development activities
Preps hedule for softwe p
ities of software project manager
the person who is responsible for
143.3 Responsib
‘A projec accomplishing the stated project
Azsiware project managers take the overall responsibility of p;
roject success
The job responsibility of a project manager ranges from invisib
7 m spirit to highly visible customer presentations. (Plan:
le activities like building
ining to Deployment)
A project manager bridging the gap between the production team and client
up tear
4 He managing the constraints of the project management triangle, wi
are cost, time, scope, and quality. pe
General activities of manager like -» project proposal writing, project cost estimation
scheduling, project staffing, sofware process tailoring, project monitoring and cannr
software configuration management, risk management, interfacing with clients
managerial report writing and presentations, etc. :
+ All the above activities are mainly classified into: project planning, project monitoring and
control activities, Project planning activity starts before development, while monitoring
and control starts after development.
| + Key among his or her duties is the recognition of risks that affect the success of the
| running project (risk management). It follows that a project manager is one who is
"responsible for making decisions both large and small, in such a way that risk is
"controlled and minimized.
"ime and cost estimation are also important factors of project manager responsibilities.
!/ Follow project status and modify it to ensure success.
1/ Every decision taken by the project manager should be taken in such a way that it
/ directly benefits the project.
He sets up development milestones and entry or exit criteria.
he skills required in project manager to manage the projects, are
om
fie must have theoretical knowledge of different project managemen
d in project manager.
techniques.
A good decision making capabilities also require’ ‘
. enna
He should be client representative and has to pean ote ta
needs of the client, and capable of understanding and disct
customers,
ment the exact
problems with
122-23 (41)solve coy
and res Ni
ich is divided into differs
edule
f the developing project.
ject
the projes
he progress of the Project, customs
mad team building are acquired
throug
nt project planning activity. Tt involves deci
hat distributes estimated efforts across the
® these efforts to specific tasks
roject activites, a sofware project manager needs to do te
Projea
the tasks needed to complete the project,
= . kt domo Jace fanie fatness a
dependency among different activities,
fe resources to activities.
® the starting and ending dates for various activities,
Determine the critical path.
ng all of the above activities: identifyi
tities done through work bre;
nce the activity
soft project tool
Work breakdown structure (Wes)
° Work Breakdown
small activi
akdown structure
and estimating time and proje
‘et schedule is developed through
ies,
PS » Consistent, and logical method for dividing the project into small,
z eo components forpurposes of planning, estimating, and monitoring,
a tet WBS encourages 4 /stematic planning. process, reduces the omission ol
‘ me elements, and simplifies the project by dividing it into Mmanageableunits.
Provide a roa i itoring, and i fe the}
Project like 5 aE idmap for Planning, monitoring, an managingall factors of
ete,
Tce allocation, scheduling, budgeting, Productivity, performance!
cr
a
e Project f
1 sotware DOVER | ware Prok
Each no
of the ni
Bach ac
# level.
WBS car
fog OLN
Type
There ar
4
Proce!
decompo!
product
Hybrid V
i
iii
qhere are twi
gree structuactivities:
durations ne
different
for the time
ary to compley/
activities )
jates for various activities:
) ending
fe fying tasks and t
vities: identifying tasks C
: srealedoon structure (WBS) PERT and CPM used ty
and project schedule is developed through
gh work
y and estimating time
ructure (WBS)
k breakdown sti
“ cture (WBS) is used to decompose a given task set recursively into
.. consistent, and logical method for dividing the project into small,
mponents forpurposes of planning, estimating, and monitoring.
S encourages a systematic planning process, reduces the omission of
« and simplifies the project by dividing it into manageableunits.
de a roadmap for planning, monitoring, and managingall factors of the
+ resource allocation, scheduling, budgeting, productivity, performance
be shown graphically in a hierarchical tree structure and developed top to
{ the tree is labelled by the problem name.¢
‘ BS c
'y
pes of WBS
ere are three types of, WES as follows:
Process WBS : it decom
sintcaslll decomposed in the task.
hroulil i, Product WBS
eers
Poses large processes into smaller ones. Each
: it decomposes large entity into smaller components.
It is used by
il Hybrid WBS : in includes both process and product elements into single WBS
eciding #’ there are two methods of WBS presentation :
a Tree structure
proj:
= oe |
Software Application | |
iL y . . \
-
_—
re i
do thedivided into Afters,
ping project. qypes of WBS
There are three typey of
process WBS : it dex om
decomposed in the tay
Product WBS t It decompongy tq...
* engineers Re entity into ematter ¢
i
© Project, custome,
> acquired through
‘omponents, Ij
i, Hybrid WBS : in includes jor,
mere are two methods of wag
qree structure
| me
|| Requirement Design
| Specification
IS Used by gy
Y water
h procesy
Presentation t ren
It involves deciding ingle y
across the projec,
|
ger needs to do the
Teaing =
\
ee "|
essary to complete
t 4
Data Flow chart
structure DFD
n them into small
nd CPM used to
leveloped through
? dented list form
[0] “top eae (Product)(Software application)
st recursively into
roject into, aii i
i
Requirement Specification.
the | 2.1 System Design
anageable 2.1.1 Data structure
all factors | OG a es0 ee po a
qhe arrows represent the logical precedence of the
Project comp
Project, ea
the task which is dependent on other taslcs cannot stare mit
tl the tasks
NEO On which
depended are completed
applications
+ 2M" tivity Networks and PERT (Programming Evaluat
tion and Review Technique) Chy
are typically used to document complex projects in a vieeul © arts
they are also used to establish the critical path of a project
critical Path Method (CPM)
the CPM method discovered by M.R.Walker in 1957.(Critica
analysis technique’ Critical path method is a
swork
critical path is the sequenc® of activities with the longest duration, A del
io lelay in any
ivity on this path will result in a delay for the whole proje,
a] path are critical activities, Project. The activities on the
act
€pM used to calculate project completion
me.
CPM used to predict the project duration|by findin,
B Out sequence of activitie, the
\jeast amount of scheduling flexibilities. i siete
+ The project manager identifies the critical activities of the project
CPM deals with both cost and time.
It is based on single time estimation.
= Need of CPM
Plnning resource requirements,
\y/Control resource allocation.
* Prediction of deliverables.
Mis used to calculate expected completion time of the project.
\/ intemal and external program review.
* Performance evaluation.
~ Advantages
* It provides clear, concise and unambiguous way of documenting project plans,
schedules, time and cost.
aa mathematically easy and simple.
7 itis useful to new project managers.
I displays dependencies which help in scheduling.
t determines slack time. Which is the total time for that task may be delayed to
complete,
T can display parallel running activity.
It is widely used in industry purpose.ical sector.
- Example
activities and oil refineries.
completion time) for the air poll
ontais of Software DEVE, aware Proies
Activity | Description
Build internal components
Modify roof and floor
Construct collection stack
D Pour concrete and install frame
| Build high-temperature bumer
Install control system
Install air pollution device
Inspection and testing
* Im that diagram each activity is listed on arc. Activities are arranged according !
precedence given above,
This type of network diagram is called Activity on Arc (AoA), Activity
For above problem, first we have to draw the activity network diagram,
(tt
ioe
va resource allocation: is
¢ is difficult. wer
aii path
; a over’
depend on judgmen' wer eat
diagra™
\
tution control system havi
Time | Immediate
Predecessor
a None
8 None
2 A
‘ P Nov
4 c the lates
, c date of |
5
network diagram, w
Maximy
the aby
on Nodes (AoN) is a®
mother form of network diagram which is drawn at the end of this chapter)
Peer
F,3———armine the critical path,
ry value, (Or the path jn
re, the dark Arrows
e can
w at
ais to it
ue
re). In above figu
te value ea
eet
—qetivity On Are) uslidl Activity Noy
a Network ld 2% example Al afi) y
seample Wi AG’
ron wala va Act
. d Review Technique’.\Sometime,
Evaluation an‘
Hale _—S Review Technique’. It was develo; 1958 by y
project planning
nagement tool used to schedule, organize and coordi
‘al representation of a project’s timeline that enables Proj
wn cach individual task in the project for analysis.
ows a manager to evaluate the time and resources necessary
chart
the project's activities or tasks,
ne dependency between different activities,
“hart (like activity network)
all of
timelines for activities,ine the critical path, q
termi i
ye can deteTM™ jue. (Or the path in
mite he dark arrow, oe
ai fn above figure, the TOs A
y%
‘On Arc) uslndl Activity Netwe
oA (Activity :
vity Network ddwvexample wh ahs, ry
Eva [sometimes
4 tion and Review Technique ‘
is Program Review Technique’. It was develop 1958 by Ug
PER
{ Evaluation and Review Tec]
ol for project planning,
is a project management tool used to schedule, organize and coordinay
a project.
a graphical representation of a project’s timeline that enables proj
3 to break down each individual task in the project for analysis.
RT chart allows a manager to evaluate the time and resources necessary tj
nplete a project
Steps to create PERT chart
* Identify all of the project's activities or tasks, ‘es
* Determine dependency between different activities.
* Draw chart (like activity network)
* Establish timelines for activities, i
e
i
In above §
igure, a sample q Z
node 5 is last activin: (monstration of PERT chart wh ji
. ivit ‘ere node 1 is
with time durations a 2,Ca8® of AON method). Activity 2 and axe aa
e A
Project is completed," ®: And after completion of activity C ang 5,{ PERT chart where node 1 is starting activity
tration of PER
of AON method)
Activity 2 and 3 are succe
And after completion of activity C and
sor of activity
E, we can say that
of PERT chart
schedule project planning and coordinate team members.
RT analysis incorporates data and information supplied by a number of department
Improves communication between team members.
ERT charts are useful input for what-if analyses.pisadvantages of PERT chart
PERT chart for g
, tinuous reviews and ups
4 It can be confusing for stakenoy,
GANTT char
«3h ma9 proposed by Henry Gantt in tong
i is also called time tine one
times ay v ae
8 i te i < manee
68,
een ar eae Stelccceete fan eee
or. It is ont the most popu! Tr icesttiba Tepre
dinate b. one of th * Popular and usefy) Ways of shows Presents an activity
time. owing activities displayea
islayed agnnat
Projeg, + The bars are drawn along a time line Activiti z
re Fe ting ee tte [porated neces east
corresponding activi ene, eas
Ee 4 ponding activity
Pane Soin ctbtined toe the
0 fine sage tras ia OSU aaa el eee in
i the bar
cr The chart is prep: bars,
ared by the project manager:
+ How to plan GANTT chart
\o Identify all the tasks.
\1ff possible, break down the tasks into smaller tasks,
- Advantages
At is very simple to understand and easy to use.
a is used in monitoring the progress of the project,
G
3ANTT chart mainly used for resource allocation,
ow
ty 1
the
Useful for planning and guiding projects, understating critical paths & planning
resources
Disadvantages
It doesn’t show interdependencies of activities.
It doesn't show precedence relationship among activities.
Y/Not suitable for large projects.
oY lt can't caleulate shortest time for any activity in the project.
* “Application
- milestones.
Usedin industry to plan and schedule the activities and miles!
ement.
|t is used for task management and resource manags
ty,,_, Used in project planning and tracking.
0,
"naggl 2 al
GANTT at P%
sks) wi oul
—~? (fiat ae
aia sul (sub ta:
zu ded
aa RAUL CRAM
arbi ound el
aa aay aH
~ Difference between PERT and CPM
PERT
+ Program Evaluation and
snag aid Wd Bais seat
et SRA. BA
CPM
>} Full form > Critical Path Method
van aaah BL SA IBHE AMAL AAbartall ga WHAUEL AeA >
a 5
a 684 eld alloy 217 aad gH AHAPUM FMA, ay,
aly, sil a2 oa aud dled. Mad raza tay ag
QS 03d. riani Veg aurad 3 Moet 2s sult a ain) a)
3q ad ASA Any 68s Sel WIPSOat Sa ANAL EAR we
—/
\-¥ It is deterministic model.
\2-Ithas repetitive nature of job.
= It can use dummy activities.
oriented technique.
sseit is activity oriented technique.
Suitable for research and
ent type projects.
~ Better suitable for construction projects.
pla
Pre
exware Project Management
GANTT chart”
ped by Henry Gantt i
represen
diagra:
required to complete oe
ses on time
<< |
> Critical path cannot be easily found in
@ Critical pat
th can be
Simpler to prepare compare with PERT| - Hard to pr
a pare compare with GANTT chart
Project Monitoring and Control (PMC)
ing is one of the most important project activities. And without proper
: planning,
project monitoring and control is not possible
* Monitoring -collecting, recording, and reporting information concerning project
ormance that project manager and others wish to know,
* Controlling - it uses data from monitoring activity to bring actual performance from
performance.
(PMC) activities take place in parallel with project
ould be corrective at appropriate level.
mitoring and planning
so the implementation shi
a i a ee ee hadait output design, data design,
Proves,
8
ments (described in SRS) into appropy;
ements
ate 4,
y of programming languages. "
g any e
design documents.
logies
po sd ok arm pati good being developed,
Ben activities ax g
ssification of design activities are given below
« The classificati pf
Design Activities
| | I |
ctural design i Interface design ff
Component desi Database design
on ig)
Design Activities
1. Architectural design
* Where you can
identify the overal]
enn Structure of the system, sub-systems, modules ani
(58)ork 9
ed from Dp
of the computer b
D (dat
4 eystem,
@ flow diagr
and with the user
De oastaeil Fansition diagram
That defines cacy
* Tha Beach yar
é ; Yetem component and show how they operate
Be ei Bbeivedneerarnert transition diagram,
4, Database design
« Where you can def,
a y iefine the system dat:
H in a database, Pera
ad ey Sin Sevens Rabe can, be renner be created
© deren obiptte cand sfhcicsreiatonchine ace ies in ERD (entity rela
d diagram) and detailed content described in da ae
ta dictionary (DD)
+ It can be derived from ERD and DD
4 Design methodologies
¢ Design methodologies are follow:
completion of the product.
ed in software development from beginning up to the
* Design methodologies use to provide guidelines for the design activity.
The nature of the design methodologies are dependent on the following factors:
The software development environment.
The type of the system being developed.
~ User requirements.
‘Qualification and training of the development team.
Available software and hardware resources.
* There are large numbers of software design methodologies. Different methodologies are
used to solve different type of problems.a 8
of the structure analysis
© graphically represented using
design) — 4,
and
™poving the system into modules
individual modules are design with data structure
Program wilh ;® *ucture de
Object ortentag ceTE search (ene i that» if « change t of the
Bie ee et x NS Ot ohh ee teen
* In this design the
: a class.
Class diagram is
case are also used in decomposition of a program into smaller
Programs (or modules)
* A system is considered modular if it consists of multiple modules so that each module
can be implemented separately and debugged separately.
* Modular system provides advantages like:
* Easy to understand the system,
* System maintenance is easy.
* Provide reusability.
Modularity is successful because developers use prewritten code, which saves
resources, Overall, modularity provides greater software development manageability.
Cohesion and coupling are two modularization criteria that are often used together.
Most researchers and developers are agreed that for good software design neat
decomposition is highly needed, and the primary characteristic of neat decomposition
is‘high cohesion and low coupling’.
Cohesion :
* Cohesion is > @ measure of functional strength of a module.
Cohesion keeps the internal modules together, and represents the functional strength.software Developme,
rentals of
Fundam’ ements of 2 Mog.
al ele!
intern:
d the i
fly bount
how tight
ee Spanier
[een | Functional
= Classification of cohesion eee
as omni
i | Procedural ——Fest
oincidnat | egieat | Femport | Proce | Comal Fat
Worst,
(Low)
e axe nO meanip,
© Coineidentalcohesion rs when ther no Wh
Coincidental cohesion occul
+ It is the lowest cohesion.
relationships between the elements.
"A mod
s a set of tasks that re,
jon, if it performs
is said to have coincidental cohesi
© very loosely
"It is also called random or unplanned cohesion,
> Legicalcohesion 1 relationships bet
same lo
+ A module
e is some logi
Said to be logically cohesive if there is som anton
the clements of module, and the elements perform functions that fall int
class.
* For example: the tasks of error handling, input and output of data.
Temporal cohesion
* Temporal cohesion is same as logical cohesion except that the elements are a
related in time and they are executed together
A module is in temporal cohesion when a module contains functions that must
executed in the same time span
* Example: modules that perform activities like initialization,
down are usually having temporal cohesion,
Proceduraleohesion
cleanup, and start-up, shi
A module has procedural cohesion when it contains elements that belong to co
procedural unit.
a Procedure (algorithm) in which certain sequence of steps are carried out to acti’
an objective.
* Example; the algorithm for decoding a message
° CommunicationalcohesionNo coupling
~ Classification of coupling
Five different types of coupling can occur b D
Data
Best
(Low)cede ang eT
Primary characteriatic
Teduc
. crea
interac, “sign process due to following
@Ction
* So the
‘hetao f f
2 SCORE OF reysy FON moe Mules UME Is fancy
an pe retionally inde of
* Reuse ca pendent, its degree of
Se of ;
Precise fan notte i other module
Ctio, e
and minimal? 84 the SPOS, eeg
© Therefor nteractio, use each module does some well-defined and
ore, 2 of the does some well-defin
Und 2 Cohesive he module with the other modules is simple
B erstandabitity Module can p
n be easily
Sily taken out and reused in a different proztam
* Complexity
isolation
ecause different modules can be understood in
+. ‘Bifference be Are more or 1.
ee tween ohe less independent of each other
Coupling
+ Cohesion
tclctionberee | ee ORC Ir EO
nship within module the] "Coupling is the indication
> Cohesion shows the relationships between modules.
SR me Fauve
aie ar eodeficeaamongatae
s a degree to
is 8 Gule is connected to
modules.
which @
functional strength
> Cohesion is a degree (quality) to which al > GREE
component / module focuses on component / module
the single thing. the other modules.
ald go for low
> While designing you should go forhigh| > While designing you sho scare er
cohesion.i.e. a cohesive component/ coupling i.e. dependency
module focus on a single task with little modules should be less.
interaction with other modules of the
system.
+ Cohesion is the kind of natural extension
of data hiding for example, class having
all members visible with a package having
default visibility.
> Cohesion is Intra Module Concept ce
Making private fields, private methods
and non-public classes provides loose
coupling
Coupling is Inter -Module Concept
F8D/9 / 2022.23,ne or more outgoing transitions.
Swimlanes. It enables you to group
, Swimlanes make group of activities
i [| _Symbot Ss,
1. Initial activity
(OR Start activity) @
- This shows the Starting point or first activity of the flow.
~ It is denoted by a solid circle.
2. Final activity (OR End activity) @
- The end of the activity diagram shown by a bull's eye symbol. It
represents the end point of all activities.Oe
mera 1th «damon shay a =<>
es as pee —— Anti
| Pore
{soi
d single outgoing transition
UML allows attaching a note to different components of diagr
Present some textual information
be son jents or may be some constraints,
It could be some comments of
A ote generally attached to a decision point to indicate the |
| Partition or Swimlanes
Diferent components of an activity diagram can be logically grouped
into diferent areas, called partition te ewigta,
They often correspond to different users or different units of
organization
| itis denoted by drawing vertical parallel tines
[+ Partitions in an activity diagram are not mandatory.
Guard conditions
Guard conditions control transition from alternative transitions {]
based on condition,
| These are represented by square brackets
Typical symbols used in activity diagramTare cadClear : the whole
=
Purpose of UI should be clear to users.
Simple\: UI desi
CUI design should be s;
required to complete the eee to usé]Less number of mouse clicks or keystrokes
Consistent i
*t Provides consistency throughout the operation.
ce ee yee eure, ares users from performing in-appropriate tasks.
luable time of users by keeping the things concise.
Proper responsive : it should be responsive to the user actions and also give feedback to
the users about what is happening.
Attractive : a good UI should be attractive enough as users like to interact with them.
Efficient : Ul needs to be efficient to figure out what exactly the user is trying to achieve
Reliable : a UI should be reliable so that user can use it for a long time with trust and
interest.
Maintainable : a UI should have the capacity for and changes to be integrated without
causing a conflict of interest.
User guidance and online assistance : a good user interface s one which additionally offers
assist to its users at the time of help at some point of time.
Types of User Interface
v
v
y
v
v
v
v
o
Different types of user interface are
Graphical user interface (GUI)
Command line interface (CLI)
Menu driven user interface
Direct manipulation interface
Touch user interface
Form based user interface
Voice user interface (VUI)
(Note: most of the books and websites clascit. 17.@nguage code and
*e and data structure
different engineers.
P their own coding standards
“t Organization and the type of products
= language-specific Programming rules that greatly reduce
SRE yas siies ie ore each eonete
ative, waterfall, extreme programming, and so on) is being used
So e i
me well-defined ang Standard style of coding that iscoding standards.
rred to as programming styles or coding convention.
Coding standards list Several rules to be followed and coding guidelines provide general
suggestions.
The use of global should be limited
Contents of the headers preceding codes for different modules
"Name of the module
(87)