0% found this document useful (0 votes)
6 views

unit 6

Class 12 computer science unit 6 notes.

Uploaded by

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

unit 6

Class 12 computer science unit 6 notes.

Uploaded by

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

Unit 6- Software Process Model( SPM)

Q. What is s/w project? Is it necessary to develop project?


Ans: A software project is the complete procedure of software
development from requirement gathering to testing and maintenance,
in a specified period of time to achieve intended (planned) software
product.
A Project can be characterized as:
• Every project may has a unique and different goal.
• Project is not routine activity or day-to-day operations.
• Project comes with a start time and end time.
• Project needs adequate(enough) resources in terms of time,
manpower, finance, material and knowledge-bank.
It is necessary to develop project because in order to achieve a goal of
an organization. Most software products are tailor made to fit client’s
requirement. Therefore, software project development is essential to fit
in user requirements along with budget and time constraints (limits).

Q. Who is software project manager?


Ans: A s/w project manager is a person who undertakes the
responsibility of executing the software project.
Q. What are the function of project manager?
Ans: The function of project manager are:
a. Act as project leader.
b. Cooperation(link) with stakeholders.
c. Managing human resources.
d. Setting up reporting hierarchy .
e. Managing project management activities.
f. Monitoring progress and performance.
g. Risk analysis at every phase.
h. Take necessary step or decision to avoid or come out of
problem.
Q. Explain different activities carried out in software project
management.
Ans: The different activities carried out I software project
management are:
1. Project Planning:
Software project planning is task, which is performed before
the production of software actually starts. It is there for the
software production but involves no concrete(real) activity
rather it is a set of multiple processes, which facilitates
software production.
2. Scope management:
Scope management is essential because it creates boundaries
of the s/w project by clearly defining what would be done in
the project and what would not be done.
3. Estimation management:
This is not only about cost estimation in software project
development, we also figure out their size, efforts as well as
time.

4. Scheduling management: Scheduling management in


software refers to all the activities to complete in the specified
order and within time slotted to each activity.

5. Project resource management:


In software development, all the elements are referred to as
resources for the project. It can be human resource, productive
tools etc.
Q. Define SDLC. Show the different phases or stages of SDLC
with figure.
Ans: SDLC refers to Software/System Development lifecycle is a
systematic way of developing any new software. IEEE defines
SDLC as “ the period that starts when the product is conceived
(imagine) and ends when the s/w is no longer available for use”.

The different stages of SDLC are listed below:


1. System Study - cWoog_
2. System analysis - ljZn]if0f_
3. System design -9fFrf_
4. System development or coding - agfpg'_
5. System testing - kl/If0f, hfr+ ug{'_
6. Implementation - nfu" ug{'_
7. Maintenance and review - dd{t ;Def/_
1. System Study:
A system is intended(planning) - of]hgf _ to
meet the needs of an organization. Thus, the first step in
the design is to specify these needs or requirements -
cfjZostf_. The top manager of the organization takes
the basic decision - lg0f{o_ to uses a computer based
information – hfgsf/L_ system for managing the
organization - ;+:yf_.
In summary - ;f/f+z _, system study
studies the following questions:
a) What is to be done in the future? - s]_
b) How to do it? - s;/L_
c) When to do it? - slxn] _
d) Who is to do it? - s;n]_
System Study

Maintenance System
and review analysis

SDLC
implementation System design

System
System testing
development

Fig. System development Life Cycle


2. System Analysis - ljZn]if0f_ : Having drawn up the
rough specification - ljlzli6s/0fsf_, the next step is to
check whether it is feasible - ug{ ;lsg]_ to implement the
system. System analysis is the survey - ;j]{If0f _ and
planning of the system and project.
Q. List out the types of feasibility study.
Feasibility study is the study of whether the system is feasible
or not to design. It consists of technical - k|fljlws_
feasibility, operational - kl/rfng_ feasibility, economical -
cfly{s_ feasibility , legal - sfg'gL_ feasibility and
behaviour - Jojxf/_ feasibility.
The types of feasibility are explained below:
a)Operational feasibility: It concerns with smooth - /fd|/L _
operation of the system. For the smooth operation of the
system, there are different factors such as accuracy - ;xL_,
response -k|ltlqmof_ time , security and efficiency -
bIftf_ of the system. Most of the clients - uf|xs_ want
user friendly and reliable - ljZj;gLo_ systems which are the
Key factors for the smooth operation.

b)Technical feasibility: It concerns with the availability of the


hardware, software and the support equipments - pks/0f_
for the complete development of the system. It also deals
with the other. Different types of technical requirements such
as UPS( Uninterruptable Power Supply), network and internet
connection, etc. Moreover it also deals with the technical
manpower to develop and operate the system.
c) Economical feasibility : It concerns - rf;f]_ with cost effectiveness of
the system. The main objective of economical feasibility is to calculate
approximate cost- both development cost and operational cost.
Developers always develop suitable system for an organization that
should be economically feasible. So it popularly known as cost benefit
analysis - ljZn]if0f_.

d) Behaviour feasibility: It concerns with behaviour of the users and the


society towards the new system or technology. Generally, most of the
traditional employees are not easily ready to upgrade - cBfjlws_
them with the new system or technology. They may feel that their jobs
are unsecured because of new system.

e) Legal feasibility: It concerns with legal issue - ;d:of_ of the system.


If the system is illegal - u}/ sfg"gL_ then the system designing is
meaningless. Everything is measure whether it is legal or illegal. It
considers copyright law -sfg"g_, labour law, tax law etc.
f) Schedule feasibility.
3. System Design:
The next step is to develop the logical -tfls{s_ design of the
system. During this phase, the logic of the system is designed. During
system design different tools are used such as flow chart, algorithm,
DFD(Data Flow Diagram), ERD(Entity Relationship Diagram) etc. Some
methodologies/approaches -b[li6sf]0f_ drawn this phase are given
below:
Types of system design methodologies/approaches -b[li6sf]0f_
are:
• Top down methodology
• Bottom up methodology

• Top down methodology: Top-down is a system design style; the traditional


procedural - k|lqmof_( technical) language use this methodology, in
which design begins by specifying ( identify clearly) complex pieces and
then dividing them into successively smaller pieces.
Features:
1. Fewer operation errors -q'l6_.
2. Much less time consuming.
3. Easy to maintain.
• Bottom-up methodology:
In bottom-up approach -b[li6sf]0f_ the individual base
elements of the system are first specified in detail. These
elements are then linked together -;Fu}_ to form larger sub-
system.
Features:
1. Benefits are realized -dx;';_ in the early phases.
2. Earlier return on investment -nufgL_.
3. Highly secured -;'/lIft_.
4. Highly visibility - b[Zotf_ of organization changes.
4. System Development:
After designing a logical diagram of a system then next step is
to convert into program. This process is called development. Flowchart,
algorithm, pseudo code etc. are the outlines the procedure(process)
for taking the input data and processing it into usable (working)
output. We are now ready to code the instructions that will control the
computer during processing. Programming languages such as C, C++,
JAVA, FORTAN, COBOL, BASIC etc are used for coding.

5. System testing:
System testing is an investigation conducted to solve
stakeholders with information about the quality of the product or
services under test. System testing can also be stated as the process of
validating and verifying that a software program or product.
Some testing methods are given below:
• White box testing : white box testing of software is predicted (guess)
on close examination of procedural details. White box testing is used
when the tester has access(use) to the internal data structures and
algorithms including code. It is also called glass box testing.

• Black box testing: Black box testing treats the software as a “black
box”- without any knowledge of internal implementation. It is also
called functional testing because it tests whether a system is functioning
or not. Testing stages are: i) Unit testing ii) System testing iii) Acceptance
testing.

6. Implementation:
implementation involves the installed system, converting from
the old system to the new one and training the users. The new system
is installed and operated with old system until it has been checkout.
Then the old system is then removed from operation and new system
takes from thereafter(later).
The implementation operation is divided in 4 major categories :
a .Direct conversion: DC in which old system is stopped and new system
comes into effects immediately .
b. Parallel conversion: PC in which old system and new system is
operated parallel in an action.
c. Phased conversion: PC in which new system is introduced partially
one after another.
d. Pilot conversion: PC in which the new system is installed for a few
users, who evaluate it and help decide whether it is suitable for the rest
of the system to implement or not.
7. Maintenance and review:
When the system is implemented , maintenance and
modification begin. The software and hardware also requires periodic
maintenance so as to keep in tune with design specification and to
innovate(develop) new ideas into the system. The contents of the
review will include: i. Objectives ii. Cost iii. Performance iv.
Standards v. recommendation
Types of maintenance:
a) Corrective maintenance: It corrects the run time errors during
operation.
b) Adaptive maintenance: It modifies or adds new features in the
system according to the environment change.
c) Perfective maintenance: It makes the system perfect , up-to-date
and improve the life of the system.

Q. Difference between system analyst and system engineer.


Ans: The main difference between a system analyst and a software
engineer is that a system analyst is a key person in system
development process who analyses existing system and design,
implements and evaluates the new system that tries to overcome the
limitation of existing system. A software engineer have
extensive(wide) knowledge of programming language, s/w
development, and computer operating systems, and they apply
engineering principles to s/w creation.
Q. Why is SDLC important and necessary?
Ans: The SDLC is important and necessary due to following reasons:
i. The size of the organization is becoming larger due to rapid rate of
industrial development.
ii. Computer –based processing enables( allow) the same data to be
processed in many ways, based on needs.
iii. As the volume of data has increased and the variety of information
and their timeliness(right time) is now of great importance.
iv. Organizations are distributed with many branches.
Q. List requirement collection method.
Ans: The requirement collection method are:
a. Brainstorming : It is used in requirement gathering to get as many
ideas as possible from group of people.

b. Focus group: A focus group is a gathering of people who are


representative of the users or customers of a product to get feedback.

c. Interview: Interviews of stakeholders and users are critical to


creating the great s/w.

d. Observation: By observing users, an analyst can identify a process


flow, steps and opportunities for improvement. Observation can be
passive or active.

e. Survey/ Questionnaire: When collecting information from many


people- too many to interview with budget and time constraints(limit)-
a survey or questionnaire can be used.
Q. Explain any five system design tools with example.
Ans: Five system designing tools are given below:
1. Flowchart: The pictorial -lrq_ or graphical representation of an
algorithm is called flowchart. It shows the order of instruction -lgb]
{zg_ and relationship between them. The purpose of constructing
flowchart is to help for the programmer for understanding the logic -
ts{_ of the problem. Flowchart is two types. System flowchart
describes the internal architecture -jf:t'snf_ of a system that
describes how data are moved inside the internal components of a
system. Program flowchart describes to solve the application types of
real world problem.
Program flowchart symbols are:

Symbols Description

Start or For starting and terminating(stop)


Stop
Input/output box For taking data input and output

Processing box For processing

Decision
To make logical decision (True or False)

connector For linking to other part of the flowchart

Flow lines
To indicate flow of flowchart
2. Algorithm: Algorithm is one of the most basic tools used for solving problem. It is defined as
the finite -l;ldt_ sequence -s|d_ of instruction for solving a problem . It consists of
stepwise list of English statements making sequence procedure -k|lqmof_.
3. Pseudo code: Pseudo code is a kind of algorithm for solving a problem. The instructions of
pseudo code are written by using English phrase -jfSo_ and mathematical expression.
4. Decision Table: The decision to be made in the program are presented in a tabular form,
which is known as decision table. A decision generally consists of two parts: condition and
action. For example , to find the maximum of among 3 numbers using decision table.

A>B F F T T
Condition

B>C F T F T

A is maximum X X X T

B is maximum X T X X
Action

C is maximum T X X X
5. Decision Tree: It is the conversion -ablnPsf]_ of the decision table in terms of tree. It
makes the decision easier to understand. Decision tree is more user-friendly -cg's"n_ because
it provides a graphical hierarchical -kbfg'qmd_ diagrammatic view of condition and action.
Example : find the maximum of among 3 different numbers using decision tree.

T A is Max
(A>B>C)

T B is Max

(B>C)
F B or C is Max
F C is Max

6. Data Flow Diagram(DFD): It is one of the most important tools used by system analyst -
ljZn]ifs_ in SDLC phase. It is actually a process of presenting the working of system in terms of
some diagrams. DFD is also the logical diagram to describe the flow of data in side the
components of system. The main components are : process, data store , data flow , external
entities -PsfO_. Some of the symbols used in DFD are given below:
Symbol name Use Diagram

Circle/ Oval Process


Rectangle External entities

Arrows Data Flow

Lines External Files

Examples:

Computer Purchase.dat
Supplier Price

External files
External entities Process
7. Context diagram:
It is the highest level of DFD. It contains only one process,
representing the entire system, the process is given the symbol
circle. The external entities are denoted by rectangle. The flow of
data is described by arrow.
8. ERD( Entity Relationship Diagram) : The diagrammatic representation of entities attributes and
their relationship is described by E-R diagram. The E-R diagram is an overall logical structure of a
database that can be expressed graphically. It was developed to facilitated database design and
their simplicity. The basic components of ER diagram are given below:
1. Entity: An entity is a “thing” or “object” in the real world. For example , if student is an
entity, is identified by registration number. It is represented by rectangle.

student

2. Attribute: Attributes are properties possessed by an entity or relationship. For e.g. std_no,
std_name, std_sub are the attributes of the entity student. Attribute is represented by oval.

Roll no

3. Relationship: A relationship is an association among several entities and represents


meaningful dependencies between them. For e.g. the association between teachers and
students is teaching. It is represented by diamond.

Teach

4. Lines: The flow of information is indicated by the lines in ER-diagram. It is simply a line. It is a
connector of entities, attributes and relationship.
Example of ER-diagram:

Name ID Name

Address

Teacher Teach student

Subject
Class Faculty

Fig. Entity Relationship Diagram


* CASE tools: CASE (Computer Aided Software Engineering) tool is
automatic computer based program that helps for software engineering
and SDLC process. It is very fast and effective tools for the development
of big scale software. It helps in analysis, design, implementation,
testing and maintenance. Moreover, it helps in business planning,
project management, user interface design, database designing,
programming and documentation. Eg. Oracle 2000 designer, visual
CASE, TOAD, Cold Fusion etc
* Unified Modeling Language(UML): UML stands Unified Modeling
Language is a standardized general-purpose modeling language in the
field of object- oriented software engineering. UML includes a set of
graphic notation techniques to create visual models of object-oriented
software. UML offers a standard way to visualize(picture) a system
architecture including elements such as : activities, actor, business
processes, database, etc. Various notations such as use case diagram,
object diagram, class diagram, activity diagram etc.
Q. Define s/w quality or quality of s/w.
Ans: The quality of s/w can be defined as the ability of the s/w to
function as per user requirement.
Software quality include good design, reliability, durability,
maintainability and value for money.
Q. What are the different models of system development? Explain
them.
Ans: The different models of system development are as follows:
1. Waterfall model
2. Prototype model
3. Spiral model

1. Waterfall model:
This model is sometimes called classic life cycle
because it suggest a systematic sequential approach to software
development that begins with customer specification(requirement)
and progress through planning, modeling, construction etc. It is only
appropriate if all the requirements are known. It is an oldest type of
model for software engineering.
Merits (Advantages):
i. It is simple model suitable for small size project.
ii. It is les expensive.
Fig. Waterfall model
Demerits(disadvantages):
i. It is not suitable for large size project.
ii. It has lack of proper documentation.
iii. It has no back track mechanism.

2. Prototyping model: This is most suitable for new system where there is no clear
idea of the requirements, inputs and outputs. It is the iterative (loop) process of
system development. Using prototyping, programmer can build early version of
system. These systems are then continuously modified until the user is satisfied.

Fig. Prototype Model


Merits:
i. Communication between the system analyst and user are improved.
ii. The expert can do a better ob of determining the user’s needs.
iii. The user plays a more active role in system development.
iv. The expert and the user spend less time ad effort in developing the system.
v. Implementation is much easier.

Demerits:
vi. Because of the iterative nature of prototyping, there is no definite
deliverable or completion deadline.
vii. Code inefficiencies my be a drawback in term of functionality.

3. Spiral model: This is the latest model of software development. In this model,
process is represented as a spiral rather than a sequence of activities. The
activities in SDLC are organized in a spiral structure that has many cycle which
starts from the center of the spiral and goes out as it progress and becomes
matured. Each of the complete spiral segment is divided into four different
attribute known as – planning, risk analysis, software development and user
evaluation.
Or Planning

Fig. Spiral Model

Merits:
i. It emphasizes (highlights) risk.
ii. It emphasizes quality.
iii. It emphasizes risk reduction.
iv. It is effective for regular updating the system.
v. Effective user feedbacks.
Demerits:
i. Full scale risk analysis require training, skill, and large expense,
so it may appropriate only for large projects.
ii. The model is relatively untested.
iii. There is minimum documentation generated.

Q. Write about Agile model with merits and demerits. ( Assignment)

End of unit 6

You might also like