0% found this document useful (0 votes)
69 views33 pages

System Analysis and Design

Uploaded by

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

System Analysis and Design

Uploaded by

hasmukhsisodiya8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SYSTEM ANALYSIS

AND DESIGN

SEC
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

SEC-5: System Analysis and Design


Sem UNIT Hours
1 Introduction to System 15
o Types of Systems
o Role and Responsibilities of System Analyst
SDLC
o Phases: Planning, Analysis,
Design, Implementation, Maintenance
Fact – finding techniques/ Requirement Analysis
o Interview, Questionnaire, Record review
and observation
Introduction to Quality assurance (QA) and
Quality Control (QC)
Software Faults and Failures
Introduction to software Testing
Techniques of software Testing
Testing Tools
2 Software Development Life Cycle Models 15
5 Open-source Software, Freeware, Shareware
Timeline chart
Data Flow analysis Tool
o Data Dictionary
o Types of Data Dictionary
Databases and System Modelling (Using
visio, draw.io,etc.)
DFD (Data Flow Diagram), E-R Diagram, Use-
Case Diagram , System Architecture Diagram

P.K.M.COLLEGE 497
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

UNIT-1 Introduction to System


 Introduction of SAD
• The full form of sad is System Analysis & Design.
• This subject is needed for system developers. Before the availability of computers
when all records were maintained manually. Record keeping systems were large in size,
inefficient and error full. After availability of computers we have to generate system on
computer so we don’t need calculate & store it manually.
• So the purpose of SAD is to understand system & convert it into a computer software
or program.
• For this we have to collect useful data, & understand user requirements.
• From Data you can get Information which must be accurate & of high speed.

Definations :-
(1) System : ― A system is a set of component that interact with each other to
accomplish a specific task / achieve some goal.‖
Ex. 1) Human body
2) Computer

• Human body consists of various different parts that are related to each other. Such as
heart, hand, legs etc. are some component of human body and human body is try to achieve a
goal to live life well. So, human body can be called as a ‘System’.
• A computer is made of so many individual components like hardware, software, data
& procedures. These are components are used to achieve a goal of computer. So computer is
also called a system.

(2) Subsystem: ―some components is that system are also one kind of system that is
called a subsystem.‖
• Any system is consisting of some components that called a subsystem.
• More than one subsystem will make one system.
• Suppose if we called computer is a one system. And there is a component like cpu,
monitor etc is also one kind of system. So, cpu, monitor is called a subsystem of a computer
system.

Types of System :-
1. Physical vs. Abstract Systems:
Physical Systems:
These are tangible entities that can be perceived by the senses, like a computer or a
building.
Abstract Systems:
These are conceptual or non-physical systems, like a mathematical model or a
business process.
2. Open vs. Closed Systems:
Open Systems:
These systems interact with their environment, exchanging information, resources,
and feedback.
Closed Systems:
These systems are self-contained and do not interact with their environment.
3. Natural vs. Manufactured Systems:

P.K.M.COLLEGE 498
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Natural Systems:
These systems are created by nature, such as the solar system or a forest ecosystem.
Manufactured Systems:
These systems are designed and built by humans, such as a car or a software
application.
4. Deterministic vs. Probabilistic Systems:
Deterministic Systems:
The output of these systems is predictable given the input, with a fixed relationship
between cause and effect.
Probabilistic Systems:
The output of these systems is not entirely predictable, as it is based on probabilities
and random factors.
5. Adaptive Systems:
These systems can change their behavior and characteristics in response to changes in
their environment.
6. Dynamic vs. Static Systems:
Dynamic Systems: These systems change and evolve over time.
Static Systems: These systems remain relatively stable and unchanging over time.
7. Other Classifications:
Permanent vs. Temporary Systems: This refers to the lifespan of the system.
Hierarchical Systems: Systems with multiple levels of components and interactions.
Information Systems: Systems designed to manage and process information, like a database
or a customer relationship management system.
Computer-based Systems: Systems that rely on computers for their operation.

 Definition of System Analyst. :


A person who conducts a methodical study and evaluations of an activity such as a
business to identify its desired objectives in order to determine procedures by which
objectives can be gained.

 Responsibilities of System Analyst :


1) System Analysis only:
• In this condition Analyst’s responsibility is conducting system studies to learn
together information & determine requirements about a business activity.
2) System Analysis & Design:
• Analyst analyze complete system but now responsibility of designing the new
system. In this analyst will be system designers or applications developers.
3) System analysis design & programming:-
• For this type of responsibility first of all system analyst gather information about
system. Then he find requirement & Feasibility study. After done this work he develop
design specification and program software. This type of work will be done by programmer
analysts.

P.K.M.COLLEGE 499
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Example :
Company
System
Marketing Dept.

Finance Dept. SubSystem

Production Dept.

In this example company is a example of system & dept. of the company are called as a
subsystem.
(3) Business System : ―A Business is a system because its component like marketing,
manufacturing, sales, research ,shipping, accounting and personal all work together to create
a profit that benefit an employee & stock holders of the company.‖
• Each of these components is called a business system.
• For example the accounting department may consist of account payable, account
receivable, billing, auditing & so on.
(4) Information system : ―A system which is purely depended on information and it will
provide you information. So it’s called as a information system.‖
• Information system consists of subsystem including hardware, software & data
storage for files & database.
• The particular set of subsystem use the specific equipment, programs, files &
procedure constitutes an information system application.
• So, information system can have purchasing, accounting or sales application.
• Every business system depends on more or less abstract entities called an Information
system.
• This system is the means by which data flow from one person or department.
• Information system serve all the system of a business which linking the different
component in such a way they effectively work toward the same purpose.

Ex. Whether report, cricket match score

 Role of System Analyst :


1) Change Agent:
• A Candidate System is designed to introduce change and reorientation in how the user
organization handles information or makes decisions. So it is necessary to user that he have to
accept changes.
• For user acceptance, analysts prefer user participation during design &
implementation.
• So in the role of change agent, system analysts may use different approaches to
introduce changes to the user organization.
2) Investigator & Monitor:
• If there is any system is supposed to fail or any fault in it then system analyst must
investigate to find the reason for it.

P.K.M.COLLEGE 500
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

• As an investigator he must extract the problems from that system & create
information structures that uncover previously unknown trends that may be effective for
organization.
• As a monitor, He must undertake and successfully complete a project in relation to
time, cost and quality.
3) Architect:
• As an architect, analyst must create detailed physical design of candidate systems or
design system architecture on the basis of end user requirement.
• These designs become the blue print for the programmers.
4) Psychologist:
• In the role of Psychologist he must be interprets their thoughts. He should understands
the thinking of people whom he meets, access their behavior, and draws conclusion from
these interactions.
• This role is played mostly in fact finding.
5) Motivator:
• System Acceptance is achieved through user participation in its development,
effective user training and proper motivation to use the system.
• As a motivator his work will be during few week of after implementation and also
when turnover results in new people being trained to work with the system.
6) Intermediately:
• In implementing candidate system the analyst tries for all parties to be present &
involved.
• So diplomacy in dealing with people, they can accept change & improvement, &
analyst will achieve his goal.
7) Salesperson:
• While doing Analysis, the critical activity, also analyst should be capable to act as a
sales person. It will lead the success of system.
8) Politician:
• Analyst works with different category of person like Managers, Accountants,
Programmers, Clerks, etc.
• Diplomacy & Fineness in dealing with people can improve acceptance of the system.
9) Innovator: • The systems analyst must separate the symptoms of the user’s problem
from the true reasons.
• With his or her knowledge of computer technology, the analyst must help the user
search useful, new applications of computers.

 Explain SDLC in detail..


• The definition of SDLC is as follows.
• When the System approach is applied to the development of information System , a
multistep cycle emerges. This multistep cycle is known as System Development Life Cycle
(SDLC).
• SDLC is classically thought of as the set of activities that analysts, designers and
users carry out to develop and implement an information system.
• The figure for all these phases of SDLC is as follows.

P.K.M.COLLEGE 501
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Preliminary Investigation

Requirement Analysis

System Design Phase

Coding Phase

System Testing Phase

Maintenance and Evolution Phase.

The different phases are shown in above figure which are also known as the stages of
the System Development Life Cycle.
We have to consider the below mentioned activities to solve the problems.
o Understanding the Problem.
o Deciding the plan for the solution.
o Coding of the planned Solution.
o Testing the actual program.
The various phases to be performed for developing a software system are as follows.
o Preliminary Investigation
o Requirement Analysis
o Design of a System
o Coding Phase
o System Testing
o System Maintenance and Evolution Phase
 Preliminary Investigation :
o First stage is the preliminary investigation. The main aim of this stage is to identify
the particular problem. It is also known as Initial Investigation. First of all the preliminary
investigation is needed just because after this stage we can move further in our analysis.
o Suppose an Manager of a company wants to create a software about his Company so
the software is known as a problem in technical terms because it has some of it’s limitations
and needs.
o With the use of Preliminary analysis we can determine the nature and scope of a
problem and we can solve the problem and get possible solutions.
o When the request is made, all preliminary investigation begins with this activities:
A. Request Clarification
B. Feasibility Study
Technical Feasibility
Operational Feasibility
Economic Feasibility

P.K.M.COLLEGE 502
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Legal Feasibility
C. Request Approval

A. Request Clarification
o Many requests from employees and users in organization are not clearly stated.
Therefore, before any further steps, the project request must be clearly stated.
o If requests are not clearly stated then the systems analyst has to get a clarification (by
phone call or a personal meeting) from the user regarding exactly what does the user want.
o If request is made without any clarification then it is difficult to understand it.
o The project request must be examined to determine what is the actual need/idea?
B. Feasibility Study
o The process of developing a large problem can be very costly so investigation stage
may require a preliminary study which is known as Feasibility Study.
o An important outcome of preliminary investigation is the determination that
whether the system requested is feasible.
o Because all the requests are not possible to fulfill.
o System analyst is supposed to find out whether the system is feasible or not
o The main aim of Feasibility Study is to check whether the product is feasible .
o The feasibility study includes analysis of problem and collection of data which
would be input to the System.
o The different scenarios which are important in feasibility study are as follows.
• Technical Feasibility
• Economical Feasibility
• Legal Feasibility
• Operational Feasibility
C. Technical Feasibility:
o Whether it is technically possible with the existing technology or with the intended
[planned] new technology.
o It involves the consideration that whether enough equipment, software technology,
persons are available or not for doing project, whether any new technology or other resources
are needed to develop the system, if system developed, can be expanded for any new need in
the future.
o It is carried out by a small group of people who are familiar with information system.
D. Economic Feasibility:
o It includes the calculations for cost of full system, cost of hardware and software,
cost for different alternative solutions and cost if nothing changes
o It calculates whether the cost acceptable for the expected benefit?
o The feasibility study is carried out by a small team consisting of 2-3 persons
experienced and skilled in doing this activity.
E. Operational Feasibility:
o Is it operationally feasible looking at the user degree of resistance [fight] and other c
operational problems?
o Whether the system is operatable by the operating people or not, whether the system is
more beneficial to the organization or not, whether the proposed will produce the required
result under particular circumstances or not those are the pin-points of operation feasibility
study.
F. Legal Feasibility :
o Legal feasibility studies issues arising out of the need to the development of the
system
o The possible consideration might include copyright law , labour law , antitrust

P.K.M.COLLEGE 503
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

legislation , foreign trade , regulation , etc.


o Legal feasibility plays a major role in formulating contracts between vendor and
users.
o Another important legal aspect is the same country then the tax laws , foreign
currency transfer regulations etc… have to be taken care of .
G. Request Approval
o After the request clarification and feasibility study, the request must be approved
by the higher level managers or directors before going on further steps to develop the system.
o Not all requested projects are desirable or feasible.

 Requirement Analysis :
o Requirement analysis is not a preliminary study but it is an in-depth study of End
User information that produce the user requirement.
o The requirement analysis includes the following tasks.
o Organizational Analysis.
o Analysis of the present System.
o Functional requirements Analysis
 User Interface Requirements.
 Processing Requirements.
 Storage Requirements.
 Control Requirements.

 System Design Phase :


o System design specifies how the system will accomplish the objective.
o System design includes the following components.
 User Interface Design
 Input and Output Design
 Data Design
 Process or Program Design
 Technical System Specification.
o The System design is the initial step to moving from Problem domain to
Solution domain.
o The designing is mostly divided into two phases.
o System Design ( Top Level design)
o Detailed Design.
o Design phase should be understood to the developer because when any
updatation occures to that problem the programmer can easily handel that updatation.

 Coding Phase :
o The system design needs to be implemented to make it a workable System.
This demands the coding of design into the understable language.
o The coding affects both testing of the problem and the maintence of that problem.
With the use of coding we can easily develop the program and also can write the program.
o The main aim of this phase is simplicity and clarity.
to its specification.
 Special test data are input System Testing Phase :
Before use of any system it must be tested.
System testing is experimentally to ensure that the software does not fail.
System must have to run according for processing and result examined.
After verify system it is used.

P.K.M.COLLEGE 504
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Below are the following types of testing:


o Data set testing.
o Unit testing
o System testing
o Integration testing
o Black box testing
o White box testing
o Regression testing
o Automation testing
o User acceptance testing
o Performance testing

 Maintenance and Evolution Phase. :


o This phase is useful to removing all faults before delivery and to maintain the
problem.
o Faults will be discovered long after the system is installed and as these faults are
detected they have to be removed.
o Maintenance activities related to fixing of errors fall under corrective maintenance.
o It is an important duty of the developer to provide training to user about how
the software applications.
o Removing errors is one of the activity of this phase and to change the input data
, system environment and the output formats.
o These requires the modification of the system.
o These maintenance activities related to adaptive maintenance.
o This phase is based on the existing software and also related to understand
the document.
o In this phase the review for the system is done for….
 Knowing all capability of the system.
 Knowing the required changes.
 Studying the performance.
o New project have to set up to carry out the changes.
o Legal feasibility studies issues arising out of the need to the development of the
system
o The possible consideration might include copyright law , labour law , antitrust
legislation , foreign trade , regulation , etc.
o Legal feasibility plays a major role in formulating contracts between vendor and
users.
o Another important legal aspect is the same country then the tax laws , foreign
currency transfer regulations etc… have to be taken care of .

Fact-finding techniques :
• Important activity in system investigation.
• The function of the system is to be understands by the system analyst to design the
proposed system.
• These are also known as data and fact gathering.
• The analyst fully understands the current system.
• He / She uses these requirement technique to investigate the requirement.
• This technique will help to collect accurate and specific information regarding
proposed system.

P.K.M.COLLEGE 505
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

• The technique used to gather this data are known as fact-finding or data gathering
technique.
• Various kind of technique are used the most popular among them are given below..
1. Interview
2. Questionnaires
3. Record reviews
4. Observation

1. Interviews :
• Important technique as in the analyst directly contacts system and potential user of the
proposed system.
• Interviewer should establish relationship and understanding with the interviewee.
• Analyst should prefer to use day to day language instead of jargon and technical
terms.
• This method is used to collect the information from group or single user.
• The information is quite accurate and reliable. Following guide for interviewer..
• Set a stage o Establish a relationship o Phrase question clearly and briefly o Be a good
listener ; avoid argument o Evaluate the outcome of the interview
• Two types of interviews
Structured
Non-structured

• Structured Interviews
o Is asked for a standard set of question in a particular order.
o All are asked same set of question.
The questions are asked further in two types of format…
• Open response format
o Respondent is free to answer in his own words.

• Close response format


o Which limit the respondent to give their answer from set of already prescribed choice.

• Unstructured Interviews
o The unstructured interviews are undertaken in a question and answer format. o This is
more flexible nature than structured. o It is very rightly used to gather general information
about the system. o Here the respondents are free to answer in their own words.(their views
are not restrict )

2. Questionnaires
• Another way of information gathering where the potential users of the system are
given questionnaires to be filled up and returned to the analyst.
• Useful when the analyst needs to gather information from a large number of people.
• It is not possible to interviews each individual.

• There are two types of questionnaires…


• Open response based
• Closed response based

• Open response based


• Gather information and data about essential and critical design of the system.

P.K.M.COLLEGE 506
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

• Open ended question requires no response direction or specific response.


• Used to learn about the feeling, opinions, experience of the respondent.
• Help to make the system effective.

• Closed response based


• To collect true information about the system.
• It deal with how system behave, how it comfortable with it.
• In this type of questionnaire answer to the question asked here is having multiple
choice or logical type of data i.e. yes/no or true/false.

3. Records reviews:
• Record and report are the collection of information.
• This can also put light on the requirement of the system and modification it has
undergone.
• It will have limitation if they are not up-to-date.
• The analyst may analyze the records at the beginning of the study which may give
him fair introduction the system.
• One drawback of using this method for gathering information is that practically the
functioning of the systems is generally different from the procedure shown in records.
• So analyst should be careful in gathering information using this method.

4. Observation:
There are two type of observation.

1) Official observation
2) Unofficial observation

1) Official observation:
• It’s not a good method to observe every single elements while Collecting information
to develop the system.
• The future system you’re building up may be deemed to change the current way of
working.
• Moreover, those you’re looking at, may feel uncomfortable and may behave
unusually, which will affect your survey’s quality.

2) Unofficial observation:
• In order to get an overview of an organization, take a look at its quantity of paper and
document, interruption of work, unreasonable timing and positive reflection of a good
working environment.
• It’s also important to know the quantity and quality of data that need to be processed
and predict how they change over the time.
• Researching through document is the final good method to get important information.

Introduction to QA
Quality : The Quality can be defined as ―a characteristics or attributes of something.‖ It can
be any measurable characteristics with we can know the standard.
Quality Assurance : Quality Assurance consists of set of auditing & reporting functions that
assess the effectiveness & completeness of quality control activities. The goal QA is to
provide management with the data necessary to be informed about product quality to get
good s/w product. If quality assurance identifies some problems then it is necessary to apply

P.K.M.COLLEGE 507
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

resources to resolve the problems.


Quality Factors : there are some quality factors on basis of which it is decided that s/w is
providing quality assurance or not there are 5 main quality factors which are as follows:
1. Portability: A s/w should be portable such that it should be easily accessed on any
operating system.
2. Usability: s/w can be used by expert user or novice user. The s/w should be usable
such that both can easily invoke the function of s/w product.
3. Reusability: s/w is not developed for once use. s/w or different modules of s/w can be
easily reused.
4. Correctness: All the functions &actions of s/w must be correctly implemented. There
must not be any incorrect o/p for any action.
5. Maintainability: any s/w should be modified easily. Errors should be corrected easily
& new functions & actions should be added easily.
Quality Control
Variation control may be equated to quality control. But how do we achieve quality
control? Quality control involves the series of inspections, reviews, and tests used throughout
the software process to ensure each work product meets the requirements placed upon it.
Quality control includes a feedback loop to the process that created the work product. The
combination of measurement and feedback allows us to tune the process when the work
products created fail to meet their specifications. This approach views quality control as part
of the manufacturing process. Quality control activities may be fully automated, entirely
manual, or a combination of automated tools and human interaction. A key concept of quality
control is that all work products have defined, measurable specifications to which we may
compare the output of each process. The feedback loop is essential to minimize the defects
produced. The main goal of quality control is user satisfaction.

Difference between QA & Q

Quality(Q) Quality Assurance (QA)


It is characteristic or attribute of something. It consist set of auditing & reporting
functions.
It is related with standard only. It is related with standard and management
also.
It doesn’t define any strategy. It defines the strategy to gain good s/w
product.
Quality paradigm(Example) : QA method:
Product Inspection
Assurance
Quality Control

Quality Assurance

Product Total Quality


Assurance Management

P.K.M.COLLEGE 508
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Software faults & failures :


• Here we have some types of software faults are bug, error, defect, fault or failure.
• In computer terminology each are differ from others.

1) Bug : It is a coding error in a computer program. A program that contains large


number of bugs interfere with functionality of software is said to be buggy.

Bugs can have wide variety of effects, with varying levels of inconvenience to the user of the
program. Some bugs have only a subtle effect on the program’s functionality, and may thus
lie undetected for a long time. More serious bugs may cause the program to crash.

• Types of bug:-
1) Team working bugs.
2) Co programming bugs.
3) Resource bugs
4) Syntax bugs
5) Logic bugs
6) Mathematical bugs

For Exa :
o If the requirement is 5 plus 3 divide by 4
o Programmer codes to add 5 and 3 first and then divide the result
[8] by 4 to arrive atresult 2
o But if application requirement is to first divide 3 by 4 and then add 5
o Then expecting result 5.75 the it is called a classic design/code error
2) Failure : It occurs when there is a difference of observed behavior of a program from
expected output.It occurs when the detailed service no longer complies with the
specifications.
3) Fault : A fault is an incorrect step, process or data definition in a computer program
faults are the source of failure.
1) Error : It is a problem found before software is released to end user.
2) Defect : It is a problem found only after the software has been released to end users.
A programmer make an error, which results in a defect in the software source code. If this
defect is executed in certain situations the system will produce wrong results & cause failure.
It is not necessary that all defects will results in failures

What is Software Testing?


Software Testing is a process of verifying and validating whether the Software
Product or Application is working as expected or not. The complete testing includes
identifying errors and bugs that cause future problems for the performance of an
application.

Software Testing Can be Divided into Two Steps:

Software testing mainly divides into the two parts

1. Verification: This step involves checking if the software is doing what is supposed
to do. Its like asking, ―Are we building the product the right way?―

P.K.M.COLLEGE 509
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

2. Validation: This step verifies that the software actually meets the customer’s needs
and requirements. Its like asking, ―Are we building the right product?―

Types of Software Testing, verification & validation


Verification & validation:
• Verification is the process of evaluating a system or component at the end of a phase
to determine if it satisfies the condition imposed (compulsory) at the start of that phase or in
other words, are we building the correct system?
• Verification is use to find errors
• It is performed by executing a program in a simulated (computer generated)
environment
• Validation refers to the process of using software in a live environment in order to
find errors.
Verification is the process of evaluating a system or component at the end of a development
phase to determine if it satisfies the requirement imposed (compulsory) at the start of that
phase or in other words, are we building the correct system?
• Validation may continue for several months
• During the course of validation of the system, failure may occur and software will be
changed
• System validation checks the quality of the software in both simulated (virtual) and
live environment
We can say
Verification: ―Are we building the product right?’’

1. Static Testing:
Static testing is the form of software testing where you do not execute the code being
examined. This technique could be called non-execution technique. It is primarily syntax
checking of the code or manually reviewing the code, requirements documents, design
documents etc. to find errors.
The fundamental objective of static testing technique is to improve the quality of the
software products by finding errors in early stages of software development life cycle.
Following are the main Static Testing techniques used:
1. Informal Review:
- No formal process
- May take the form of pair programming or a technical guide reviewing designs and
code
- Results may be documented
- Varies in usefulness depending on the reviewers
- Main purpose: inexpensive way to get some benefit
2. Walkthrough:
- Meeting led by author
- May take the form of scenarios, dry runs, peer group participation
- Open-ended sessions
o Optional pre-meeting preparation of reviewers
Optional preparation of a review report including list of findings
- Optional scribe (who is not the author)
- May vary in practice from quite informal to very formal
- Main purposes: learning, gaining understanding, finding defects

P.K.M.COLLEGE 510
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

3. Technical Review:
- Documented, defined defect-detection process that includes peers and technical
experts with optional management participation
- May be performed as a peer review without management participation
- Ideally led by trained moderator (not the author)
- Pre-meeting preparation by reviewers
- Optional use of checklists
- Preparation of a review report which includes the list of findings, the verdict whether
the software product meets its requirements and, where appropriate, recommendations related
to findings
- May vary in practice from quite informal to very formal
Main purposes: discussing, making decisions, evaluating alternatives, finding defects,
Solving technical problems and checking conformance to specifications, plans, Regulations,
and standards
4. Inspection:
- Led by trained moderator (not the author)
- Usually conducted as a peer examination
- Defined roles
- Includes metrics gathering
- Formal process based on rules and checklists
- Specified entry and exit criteria for acceptance of the software product
- Pre-meeting preparation
- Inspection report including list of findings
- Formal follow-up process (with optional process improvement components)
- Optional reader
- Main purpose: finding defects
2. Dynamic Testing:-
- Dynamic Testing is used to test the software by executing it. Dynamic Testing is
also known as Dynamic Analysis, this technique is used to test the dynamic behavior of the
code. In dynamic testing the software should be compiled and executed, this analyses the
variable quantities like memory usage, CPU usage, response time and overall performance of
the software.
- Dynamic testing involves working with the software, input values are given and
output values are checked with the expected output. Dynamic testing is the Validation part of
Verification and Validation.
- Some of the Dynamic Testing Techniques are given below:
1. Unit Testing:-
- Unit is the smallest testable part of the software system. Unit testing is done to verify
that the lowest independent entities in any software are working fine. The smallest testable
part is isolated from the remainder code and tested to determine whether it works correctly.

2. Integration Testing:-
In integration testing the individual tested units are grouped as one and the interface between
them is tested. Integration testing identifies the problems that occur when the individual
units are combined i.e it detects the problem in interface of the two units. Integration testing
is done after unit testing.
- There are mainly three approaches to do integration testing.
• Top-down Approach
- Top down approach tests the integration from top to bottom, it follows the
architectural structure.

P.K.M.COLLEGE 511
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

- Example: Integration can start with GUI and the missing components will be
substituted by stubs and integration will go on.

• Bottom-up approach
- In bottom up approach testing takes place from the bottom of the control flow, the
higher level components are substituted with drivers

• Big bang approach


- In big bang approach most or all of the developed modules are coupled together to
form a complete system and then used for integration testing.
3. System Testing:-
o Testing the behavior of the whole software/system as defined in software
requirements specification(SRS) is known as system testing, its main focus is to verify that
the customer requirements are fulfilled.
o System testing is done after integration testing is complete. System testing should
test functional and non functional requirements of the software.
o Following types of testing should be considered during system testing cycle. The test
types followed in system testing differ from organization to organization however this list
covers some of the main testing types which need to be covered in system testing.
- Sanity Testing
- Usability Testing
- Stress Testing
- Load Testing
- Performance Testing
- Regression Testing
- Maintenance Testing
- Security Testing
- Accessibility Testing

4. Acceptance Testing:-
Acceptance testing is performed after system testing is done and all or most of
the major defects have been fixed. The goal of acceptance testing is to establish
confidence in the delivered software/system that it meets the end user/customers
requirements and is fit for use Acceptance testing is done by user/customer and some of the
project stakeholders.
o Acceptance testing is done in production kind of environment.
o For Commercial off the shelf (COTS) software’s that are meant for the mass market
testing needs to be done by the potential users, there are two types of acceptance testing for
COTS software’s.

• Alpha Testing
o Alpha testing is mostly applicable for software’s developed for mass market i.e.
Commercial off the shelf(COTS), feedback is needed from potential users. Alpha testing is
conducted at developers site, potential users, members or developers organization are invited
to use the system and report defects.

• Beta Testing
Beta testing is also know as field testing, it is done by potential or existing
users/customers at an external site without developers involvement, this test is done to
determine that the software satisfies the end users/customers needs. This testing is done to

P.K.M.COLLEGE 512
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

acquire feedback from the market.

Types of Software Testing, verification & validation


Verification & validation:
• Verification is the process of evaluating a system or component at the end of a phase
to determine if it satisfies the condition imposed (compulsory) at the start of that phase or in
other words, are we building the correct system?
• Verification is use to find errors
It is performed by executing a program in a simulated (computer generated) environment •
Validation refers to the process of using software in a live environment in order to find errors.
Verification is the process of evaluating a system or component at the end of a development
phase to determine if it satisfies the requirement imposed (compulsory) at the start of that
phase or in other words, are we building the correct system?

P.K.M.COLLEGE 513
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

UNIT-2 Software Development


Software Development Life Cycle Models.
Waterfall Model:
The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear- sequential life cycle model. It is very simple to understand and use. In a waterfall
model, each phase must be completed before the next phase can begin and there is no
overlapping in the phases.
Waterfall model is the earliest SDLC approach that was used for software
development .The waterfall Model illustrates the software development process in a linear
sequential flow; hence it is also referred to as a linear-sequential life cycle model. This
means that any phase in the development process begins only if the previous phase is
complete. In waterfall model phases do not overlap.

Waterfall Model design


Waterfall approach was first SDLC Model to be used widely in Software Engineering
to ensure success of the project. In "The Waterfall" approach, the whole process of software
development is divided into separate phases. In Waterfall model, typically, the outcome of
one phase acts as the input for the next phase sequentially.
Following is a diagrammatic representation of different phases of waterfall model.

The sequential phases in Waterfall model are:


Requirements
The first phase in waterfall model is requirements gathering, here the end user requirements
are captured and feasibility study is done. After this software requirements
document(SRS) is prepared.
Design
High level and low level software design is done in this phase.
Implementation
Developers start coding and finish software development in this phase.
Testing
After developers are done with coding and provide final build to testers, testing starts in
this phase.

P.K.M.COLLEGE 514
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Deployment
After testing is done and software is released it is then deployed in customer environment.
Maintenance
In maintenance phase the maintenance activities are done for the deployed software.
All these phases are cascaded to each other in which progress is seen as flowing
steadily downwards (like a waterfall) through the phases. The next phase is started only after
the defined set of goals are achieved for previous phase and it is signed off, so the name
"Waterfall Model". In this model phases do not overlap.

Advantages & Disadvantages of Waterfall Model:


The advantage of waterfall development is that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a product
can proceed through the development process model phases one by one. Development moves
from concept, through design, implementation, testing, installation, troubleshooting, and ends
up at operation and maintenance. Each phase of development proceeds in strict order.
The disadvantage of waterfall development is that it does not allow for much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-documented or thought upon in the concept stage.

Automation Testing:

Introduction:-
Using Automation tools to write and execute test cases is known as automation
testing. No manual intervention is required while executing an automated test suite.
Testers write test scripts and test cases using the automation tool and then group into test
suites.

Advantages of Automation Testing


You would have tested software applications or web applications manually, so you
might be aware of the drawbacks of manual testing. Manual testing is time consuming,
tedious and requires heavy investment in human resources.
Time constraints often make it impossible to manually test every feature thoroughly before
software application or web application is to be released. This leaves you wondering whether
serious defects have been detected or not.
To address all these issues automation testing is done, you can create tests that
check all aspects of the software applications and then execute these test cases every time
any changes are made in software application.
Benefits of Automation Testing
Fast: Runs tests significantly faster than human users.
Repeatable: Testers can test how the website or software reacts after repeated
execution of the same operation.
Reusable: Tests can be re-used on different versions of the software.
Reliable: Tests perform precisely the same operation each time they are
run thereby eliminating human error.
Comprehensive: Testers can build test suites of tests that covers every feature in
software software application.
Programmable: Testers can program sophisticated tests that bring hidden
information.

P.K.M.COLLEGE 515
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Manual Testing Automation Testing

1. Time consuming and 1. Fast Automation runs test cases


tedious: Since test cases are executed significantly faster than human
by human resources so it is very resources.
slow and tedious.
2. Huge investment in human 2. Less investment in human
resources: As test cases need to be resources:Test cases are executed by
executed manually so more testers using automation tool so less tester
are required in manual testing. are required in automation testing.
3. Less reliable: Manual testing is 3. More reliable: Automation tests
less reliable as tests may not be perform precisely same operation
performed with precision each time each time they are run.
because of human errors.
4. Non-programmable: No 4. Programmable: Testers can
programming can be done to write program sophisticated tests to bring
sophisticated tests which fetch out hidden information.
hidden information.

 Freeware:-
Freeware is copyrighted computer software which is made available for use free of
charge, for an unlimited time. Authors of freeware often want to "give something to the
community", but also want to retain control of any future development of the software.

 Shareware:-
Shareware refers to commercial software that is copyrighted, but which may be
copied for others for the purpose of their trying it out with the understanding hat they will
pay for it if they continue to use it.

FREEWARE SHAREWARE

Free for specific period of time later


Cost Free of cost
on asked the user to purchase.

Modify source Not allowed covered


Not allowed covered all the copyrights
code all the copyrights.

Certain features are provided for trial


Fully
Usually later on to unlock the rest features,
Functional
users need to pay.

All features are freely Some features are available for free
Features
available trial or have limited use. To enable

P.K.M.COLLEGE 516
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

the rest features, payment should be


made.

Free of cost
May or may not be freely distributed
Distribution distributed among the
usually requires author’s permission.
people.

Access Program may only work for short


Having no time limit
Duration time duration eg 30 days.

A free copyrighted Some features are free for trial and


Advantage
software covered by copyright.

Neither can sell these It cannot be modified and it may be


Disadvantage software nor can either a cut down or a temporary
make any changes version.

MSN messenger,
Examples yahoo messenger, Winzip,CuteFTP, Getright,etc.
Adobe PDF,etc.

 TimeLine Chart
What is a Timeline Chart?
 A timeline chart is an effective way to visualize a process using chronological order.
 Since details are displayed graphically, important points in time can be easy seen and
understood.
 Often used for managing a project’s schedule, timeline charts function as a sort of
calendar of events within a specific period of time.
Why make Timeline Charts?
 Staying on track can be a struggle.
 By incorporating a timeline chart into your project, it becomes
much easier to see what needs to be done, how long it will take, and what the next steps
are.
 Since each steps is documented along an easy to follow timescale, there’s no
misunderstanding of when goals should be met and how many hours a project should
take.
How to make a timeline chart
1. Begin by listing each milestone throughout your project.
2. Place these milestones along a horizontal line, from start to finish.
3. Associate each step with a specific date to represent a deadline.
4. Include titles to clarify key points along the process (phases, testing, planning, etc.).

P.K.M.COLLEGE 517
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Data Flow analysis Tool


Data Flow Analysis Tool helps in modeling, analyzing, and understanding how data moves
through a system. These tools are often used to create Data Flow Diagrams (DFDs) and to
perform logical analysis of data processes, inputs, outputs, and storage.
�What is Data Flow Analysis in SAD?
Data Flow Analysis is the process of tracking how data enters, is processed, and exits a
system. It helps in:
Identifying inefficiencies or bottlenecks
Understanding system functionality
Designing systems logically before physical implementation
Benefits of Using Data Flow Analysis Tools
Improves understanding of system requirements
Provides a visual, logical model of the system
Helps identify redundant or missing processes
Aids communication among stakeholders

P.K.M.COLLEGE 518
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Data Dictionary

A Data Dictionary is a list of all data elements used in a system. It tells you the meaning,
format, and use of each piece of data.
Think of it like a dictionary for computer data — it explains what each type of data means
and how it is used in the system.

�Why is a Data Dictionary Important?


Helps system designers and developers understand the data.
Makes sure everyone uses the same data in the same way.
Helps to avoid mistakes when creating or updating the system.
Useful for documenting the system.

What is Inside a Data Dictionary?


Each data element (like "Customer Name", "Order Number", etc.) has detailed information.
Here is what is usually included:

Field Meaning Example


Data Name The name of the data item
Customer_ID
"A unique number for each
Description What it means
customer"
Data Type Kind of data Integer, Text, Date, etc.
Length How many characters/digits 10 characters
Format The structure or pattern YYYY-MM-DD for a date
The value if nothing is
Default Value N/A or 0
entered
Source Where the data comes from Customer Form
Allowed
What values are accepted Male, Female, Other
Values
Relationships Connection to other data Linked to Orders table

Example of a Data Dictionary Entry

Field Value
Data Name Customer_ID
Description A unique number that identifies a customer
Data Type Integer
Length 6
Format NNNNNN (6-digit number)
Default Value 000000
Source Customer Registration Form
Allowed Values 000001 to 999999
Relationships Connected to the Order Table (foreign key)

P.K.M.COLLEGE 519
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

�Types of Items in a Data Dictionary


1. Data Elements – Smallest pieces of data (e.g., age, name)
2. Data Structures – Groups of elements (e.g., customer record)
3. Data Flows – Movement of data between processes
4. Data Stores – Where data is saved (e.g., databases)
Types of Data Dictionary
1. Integrated Data Dictionary
Meaning:
An Integrated Data Dictionary is part of the software system (like a database
management system or CASE tool). It works inside the system and helps users while
designing or developing the system.
Features:
Built-in or included in the system tools
Helps system analysts during system design
Easy to access while working
Often used with CASE tools (Computer-Aided Software Engineering)
Example:
A CASE tool like Oracle Designer or ERwin includes an integrated data dictionary.
Best for:
Medium to large projects where many people work together.
Active: When any changes are made to the database, the active data dictionary is
automatically updated by the DBMS. It is also known as a self-updating dictionary because
it continuously updates its data.
Passive: Unlike active dictionaries, passive dictionaries must be updated manually when
there are changes in the database. This type of data dictionary is difficult to manage
because it requires proper functionality. Else, the database and data dictionary will be
synchronized.
2. �️Stand-Alone Data Dictionary
Meaning:
A Stand-Alone Data Dictionary is not part of any software system. It is separate and
made using general tools like Excel, Word, or Google Sheets.

Features:
Independent (not connected to the system)
Manually created and updated
Easy to share as a document
Good for small projects or during early planning
Example:
An Excel file listing all the data items, their descriptions, and formats.
Best for:
Small systems or when planning a new system.
Databases and System Modelling (Using visio, draw.io,etc.):
What is System Modelling?
System Modelling means making diagrams to show how a computer system works.
It helps students, designers, and developers understand the structure, data, and flow of
the system.
We use system modelling to:
Plan the system before building it
Show how data moves and is stored
Explain the system to others clearly

P.K.M.COLLEGE 520
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

�What is a Database?
A Database is a place where data is stored in an organized way.
It has tables, and each table has rows and columns.
In system modelling, we use diagrams to:
Show tables and their relationships
Design the structure of the database
Example: Making an ER Diagram in draw.io
Let’s say you're designing a database for a Library System. You need these tables:
Book (BookID, Title, Author)
Member (MemberID, Name, Address)
Loan (LoanID, BookID, MemberID, Date)
Steps:
1. Go to draw.io
2. Select Entity Relationship shapes
3. Create 3 rectangles for the tables
4. Write the table names and fields inside each box
5. Use arrows to connect them (e.g., BookID → Loan)

Tool Free? Works Online? Best For Easy to Learn?


draw.io ✅Yes ✅Yes Most diagrams, ERDs, DFDs ✅Yes
Visio ✅No ✅No (Desktop) Professional business diagrams ✅Medium
Lucidchart ✅Yes (Basic) ✅Yes Team projects, quick diagrams ✅Yes
ERDPlus ✅Yes ✅Yes Simple database diagrams ✅Very easy

�Summary Table
Microsoft Visio
What is it?
A paid diagramming tool by Microsoft, used in schools and companies.
How to use it:
1. Open Microsoft Visio
2. Choose a template (ERD, flowchart, UML, etc.)
3. Drag shapes from the left panel to the page
4. Use connectors (lines) to show relationships
5. Add labels, titles, and colors
6. Save or export your diagram
What you can create:
Professional system diagrams
Detailed database models
Organization charts, networks, UML, and more
Pros:
Very professional and powerful
Has many ready-to-use templates
Good for complex systems
Cons:
Not free (paid software)
May need training for beginners

P.K.M.COLLEGE 521
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

DFD (Data Flow Diagram)


A Data Flow Diagram (DFD) is a graphical representation of the flow of data in a
system. It shows how data moves through a system, the processes that manipulate the data,
and the storage and sources of the data.
In the context of System Analysis and Design (SAD), DFDs are used to model the
flow of information within an application or business system. They help in understanding
how the system works and how data is transferred from one part of the system to another.
Key Components of a Data Flow Diagram (DFD):
1. Processes: These represent the activities or operations that transform data. A process
is shown as a circle or rounded rectangle. For example, "Process Payment" or "Generate
Report."
2. Data Flows: These are the arrows that show the movement of data between different
parts of the system. For example, data can flow from a "Customer" to a "Sales System."
3. Data Stores: These represent places where data is stored for later use, such as a
database or file system. A data store is often shown as an open rectangle. For example,
"Customer Database."
4. External Entities (Sources or Sinks): These are outside the system but interact with
it. They are represented by squares or rectangles. For example, a "Customer" or an "External
Service."
Levels of DFD:
DFDs can be created at different levels of abstraction:
1. Level 0 (Context Diagram): This is a high-level view of the system, showing the
system as a single process and its interactions with external entities.

2. Level 1: This breaks down the main process into sub-processes, showing more detail
about the internal workings of the system.

P.K.M.COLLEGE 522
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

3. Level 2 and beyond: These show more detailed processes, breaking down each sub-
process further into smaller components.
Example:
Imagine a simple online shopping system:
External Entities: Customer, Bank
Processes: Place Order, Process Payment, Generate Receipt
Data Stores: Customer Database, Product Catalog, Order History

P.K.M.COLLEGE 523
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Data Flows: Data flows from the Customer to "Place Order", from "Process
Payment" to "Bank", and from "Generate Receipt" to the Customer.
Purpose of DFD in SAD:
Clarifies System Requirements: DFDs help stakeholders and designers understand
how data moves through the system.
Identifies Data Needs: They highlight where data needs to be stored, processed, or
output.
Improves Communication: DFDs serve as a visual tool for communicating complex
systems to non-technical stakeholders.
Serves as Documentation: It provides a structured overview of how the system will
function, which can be used for future maintenance.

What is an E-R Diagram


ER diagrams represent the E-R model in a database, making them easy to convert
into relations (tables).
ER diagrams serve the purpose of real-world modeling of objects which makes them
intently useful.
ER diagrams require no technical knowledge of the underlying DBMS used.
It gives a standard solution for visualizing the data logically.
An Entity-Relationship Diagram (E-R Diagram) is a picture that shows:
Entities (important objects or people in a system),
Attributes (details about those entities),
Relationships (how the entities are connected).
It is used in System Analysis and Design (SAD) to plan and design a database before
building the actual system.
Main Parts of an E-R Diagram

Component Description Symbol


Rectangle
Entity A person, object, place, or concept in the system

Attribute Information about the entity (e.g., name, ID) Ellipse ◯
Primary
A unique identifier for each entity (e.g., StudentID) Underlined
Key
Relationship Shows how two or more entities are connected Diamond ◇
Connects attributes to entities or relationships to
Line Straight line
entities

P.K.M.COLLEGE 524
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

P.K.M.COLLEGE 525
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Use Case Diagram


A use case is a set of scenarios that describing an interaction between a user and a system. A
use case diagram displays the relationship among actors and use cases. The two main
components of a use case diagram are use cases and actors.

An actor is represents a user or another system that will interact with the system you are
modeling. A use case is an external view of the system that represents some action the user
might perform in order to complete a task.
Use-Case Diagram is a type of UML (Unified Modeling Language) diagram. It is used in
System Analysis and Design (SAD) to:
Show what the system should do (its functional requirements)

P.K.M.COLLEGE 526
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Show who will use the system (called actors)


Show how users interact with the system

Purpose of a Use-Case Diagram in SAD


Helps to identify system functionality
Easy to explain to non-technical stakeholders
Used during requirements gathering
Useful for planning, designing, and testing the system

�️Example: Use-Case Diagram for a Railway Reservation System

�Actors:
1. Passenger – books tickets, views train details
2. Admin – manages train schedules and passenger data
3. Payment System – handles ticket payments

�Use Cases (System Functions):


Register/Login
Search Train
Book Ticket
Cancel Ticket
Make Payment
View Ticket
Add/Update Train Schedule
Generate Reports

System Architecture Diagram


A System Architecture Diagram shows the structure of a system — how different
components, modules, and external systems interact and work together.
It is used to:
Understand how the system is built

P.K.M.COLLEGE 527
B.C.A. SEM – 5 SYSTEM ANALYSIS AND DESIGN

Show the technology layers (like front end, backend, database)


Explain how data flows through the system
It is very useful during System Analysis and Design (SAD) to plan how the system will be
developed and how it will work in real life.
Main Elements in a System Architecture Diagram

Element Description
Client/User Interface (UI) The part users see and interact with (e.g., mobile app, website)
Application Layer The core logic or functions of the system (backend processing)
Database Layer Where the data is stored (e.g., MySQL, Oracle, MongoDB)
External Systems Other systems that connect with yours (e.g., payment gateways)
Network or Cloud Infrastructure for internet, hosting, APIs

P.K.M.COLLEGE 528

You might also like