Unit 6: Software
Process Model (SPM)
Software Project Concept
Software:
Software is a set of programs,
procedures, and routines which enable the users to perform some particular
specific task and actually use to operate the computer. It directs all of the
peripheral devices on the entire computer system, what exactly to do and how
exactly to perform a task.
System:
System is a set of interacting or
interdependent components forming an integrated whole. A system can be
described as a set of objects joined together for a common objective.
Project:
A project is a planned task with
a clear goal and deadline, usually done by a group of people working together.
It's like a mission with a plan and a team to achieve it.
Software Project:
A software project is the
complete procedure of software development from requirement identification to
testing and maintenance, carried out according to the execution methodologies,
in a specified period of time and budget in order to achieve intended software
product.
Information system:
The system which accepts data as
Input, process it to generate the information and provides the information to
the user as output is the information system. The information system is
interrelated components working together to collect data, process it, give
output and store using the resources of hardware, software, people, procedure
& controlling mechanism.
It helps to support decision
making, coordination, control, analysis and visualization in an organization.
The major objective of an information system is to provide information on
timely basis throughout the organization. So that top level management can make
proper decisions and take appropriate courses of action in time.
Types of the information system
In an organization, there are
various types of operations that take place. Several operations require several
information systems for the effective management of an organization. Senior
managers need information to help with the business planning. Middle management
need more detailed information to help them monitor and control business
activities. Employees with operational roles need information to help them
carry out their duties. Hence, business organizations tend to have several
information systems operating at the same time. The several information systems
are:
Different levels of
Information system
1) Transaction processing
system (TPS): A TPS is a basic business system which serves the most
elementary day-to-day activities of an organization. It supports the
operational level of the business that supplies data for higher level
management for decisions. A TPS also collects and stores information about
transaction and controls some expect of transactions, which includes the
collection, modification and retrieving of all transaction data. TPS is also
known as real time processing. For example, billing system to send invoices to customers,
inventory management system to keep record of purchase, sales and stock.
2) Management Information
system (MIS): Management information system provides information to managers
of an organization which helps them to organize, evaluate and efficiently
manage departments within an organization. It is primarily intended for
providing information from the data after processing it. The data are
generated, collected, recorded, stored, processed and retrieved by MIS after it
has been generated by business operation or TPS in an organization. It is the
system that provides the information necessary to manage and organization
effectively. It has large quantity of input data obtained from TPS and produce
summary report as an output. It is used by middle level management. For
example, annual budgeting system, auditing system etc
3) Decision Support system
(DSS): It is a computer-based application that collects, organizes, and analyzes
business data to facilitate quality business decision making for management,
operation and planning. This system aid decision maker in compiling a variety
of data from data from many sources. DSS analysis helps companies to identify
and solve problems and make decisions. It is created to help people to make decisions
by providing access to information and analysis tools. It supports the decision
process so managers can make simulation and prediction. DSS allows users to use
different option and find out what the outcome would be so that proper action
con be identified. DSS is flexible, adaptable and quick.
4) Executive support system:
It is also known as executive information system. It is a decision support
system used to assist senior executives in the decision-making process. It does
this by providing easy access to important data needed to achieve strategic
goals in on organization. ESS normally features graphical display on an easy-to-use
interface. ElS can be used in many different types of organization to monitor
enterprise performance as well as to identify opportunities and problems.
Software Development Process
The software development process
is a structured way of creating software through stages like planning,
designing, coding, testing, and deployment. Its purpose is to deliver a
high-quality and reliable product while managing time and resources well.
Software development process
defines a sequence of tasks that must be carried out to build new software.
·
It groups the development activities into a
sequence of phases.
·
A phase in sequence can only commence on the
previous phase has been completed.
·
A report is produced at the end of each phase,
describing what has been achieved and outlining plans for the next phase.
Fundamental activities for the
software development process are
1. Software
Specification: The functionality or software and constraints on its operations
must be defined.
2. Software
design and implementation: The software to meet the specifications must be
produced.
3. Software
validation: The software must be validated to ensure that it does what the
customer wants.
4. Software
evolution: The software must evolve to meet changing customer needs.
System Development Life Cycle
(SDLC)
SDLC (Software/System Development
Life Cycle) is an organized way to develop a software/system. It is a
methodology used to develop, maintain, and replace software/information
systems.
·
It is a systematic process of developing any
software. It helps in establishing a system, or software or project, or plan.
It gives an overall list of processes and sub-processes required for developing
a system.
·
SDLC consists of a set of development activities
that have a prescribed order. It is the development of software in
chronological order.
Importance and the necessity
of SDLC
·
It helps to determine the needs of the user.
·
It supports constant communication between the
developer and the user.
·
SDLC helps with the easy identification of
missing requirements.
·
It ensures that the software meets the needs of
its users.
·
It supports proper analysis and design of the
software.
·
It ensures proper development and testing.
·
Proper documentation support for future upgrade
and maintenance.
·
It provides flexibility for adding features even
after the software is developed.
The different phases of SDLC are
as follows:
1. System
Study or Preliminary Investigation and Feasibility study.
2. System
analysis or Determination of system requirements.
3. System
design.
4. System
development or development of software.
5. System
Testing.
6. System
Implementation.
7. System
Maintenance and Reviews or Evaluation
1) System Investigation
In this stage, the development
team studies the present and identifies the drawbacks. They interact with the
users and gathers information from different sources to recognize the problems
of present system.
It answers these questions
simply:
·
What needs to be done?
·
How will it be done?
·
When will it be done?
·
Who will do it?
2) System Analysis
System analysis means studying
the current system deeply to understand problems and define what a new system
must do. It focuses on finding requirements and avoiding failures by knowing
all risks.
The system analyst analyzes the
information and proposes the following specifications.
·
Goals and objectives of the proposed system.
·
Fundamental actions that must take place in the
software.
·
Outputs to be produced.
·
Inputs to be used.
·
Processes to be performed.
·
Interfaces to be provided.
·
Performance requirements to be met.
·
Organizational and other constraints' to be met.
3) Feasibility Study
Feasibility study is the most
important activity in the system analysis phase. It analyses the proposed system
from different aspects so that it makes clear how practical or beneficial the
system will be to the organization. So, it tells us whether the system is
feasible to design or not. Thus, it is necessary before system design.
Different types of Feasibility
study are as follows
1. Economic
feasibility: it concerns the cost effectiveness of the system. The main
objective of economic feasibility is to calculate approximate cost-both the
development cost and the operational cost and the benefits from the system.
2. Technical
feasibility: it concerns the availability of the hardware, software and the
support equipment for the complete development of the system.
3. Operational
feasibility: it concerns smooth operation of the system. It is all about
the problems that may occur during operation of the system after its
development.
4. Behavior
feasibility: it concerns with behavior of the users and the society towards
the new system. Generally, most of the traditional employees are not easily
ready to upgrade them with the new system.
5. Schedule
feasibility: it is the process of splitting projects into tasks and
estimate time and resources required to complete each task. It determines the
deadline to complete a system and schedule the task accordingly.
6. Legal
feasibility: it concerns the legal issue of the system. If the system is illegal,
then the system designing is meaningless. Everything is measured whether it is
legal or illegal. It considers copyright law, foreign law, foreign trade, tax,
etc.
System design
The next step is to develop the
logical design of the system. During this phase, the logic of the system,
namely, the information requirement of users, and use this to find the
necessary database.
System design is concerned with
the design of new system. It involves designing of various things such as
output design, input design, files design, processing and general program
design etc.
Logical Design:
Theoretically designing of the system is called logical design. The system
could be designed on the basis of the requirements.
Physical Design: The
conversion of logical design into designing tools and techniques is called physical
design. It is more detail and complex jobs describing the solution of the
problem. It uses algorithms, flowcharts, pseudo codes, decision table, decision
tree, E-R diagram, Data flow diagram etc
Theoretically designing of the system is called logical design. The system
could be designed on the basis of the requirements.
The conversion of logical design
into designing tools and techniques is called physical design. It is more
detail and complex jobs describing the solution of the problem.
To create a logical design
different kinds of tools are used.
Algorithm, Flowchart, Pseudo codes, Structured English, Decision
Table, Decision Tree, Data flow diagram, E-R diagram
System development
After designing a logical diagram of a system, then next
step is to convert into program. This process is called system development.
Flowchart, algorithm, Pseudo code, etc. are the outlines of the procedures for
taking the input data and processing it into usable output.
System testing
It is an investigation conducted
to provide stakeholders with information about the quality of the product or
service under test. System testing also provides an objective, independent view
of the software to allow the business to appreciate and understand the risks of
software implementation.
Some of the objectives of system
testing are :
·
To check whether developed system fulfills the
user requirement or not.
·
To check whether developed system works as
expected.
Some testing methods are:
a) 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. Here in this type of testing several
known input is provided and checked whether the system generates expected
output or not.
b) White box testing: In
white box testing, procedural details are checked logical path through the
software and between several components are tested through codes, statements
and syntax analysis. White box testing is used when the tester has to the
internal data structure and algorithms including the code that implement this.
It is also called glass box testing.
Implementation:
implementation involves testing
the installed system, converting from the old system to the new one and
training the users. This phase consists of implementation of the system into a
production environment, and resolution of the problem identified in testing
phase.
The main activities of
implementation phase are:
·
Testing and proving in all parts of system.
·
Training of data processing and user staff to
use the new system.
·
Preparation of documentation of a system.
·
Acquiring all necessary equipment &
stationary.
The three system implementation
methods:
1) Direct Implementation:
The old system is stopped
completely and the new system is started immediately in its place.
2) Parallel Implementation:
Both the old system and new
system run at the same time for a period until the new one is confirmed to work
properly.
3) Phased Implementation:
The new system is introduced
step-by-step in parts or modules until the full system is fully implemented.
Maintenance and review
It begins after the system is
implemented. Like any system, there is an ageing process that requires periodic
maintenance of hardware and software. The content of the review will include
objectives met, cost, performance, standards and recommendation.
The different types of maintenance are:
Corrective maintenance: It
corrects the run-time error during the operation.
Adaptive maintenance: It
modifies or adds new feature in the system according to environmental change.
Perfective maintenance: It
makes the system perfect up to date and improve the life and efficiency of the
system.
System Analyst
System analysts are people who is
involved in analyzing, designing, implementing and evaluating computer-based
information systems to support the decision-making activities and operations of
an organization.
·
A system analyst is information specialist. To
be a system analyst, one must be knowledgeable about the technical aspects of
analyzing, designing and implementing computer-based systems.
·
A system analyst is a person who conducts a
study, identifies activities and objectives and determines a procedure to
achieve the objectives.
The characteristics (attributes)
of system analysts are as follows:
·
Knowledge of organization.
·
Technical Knowledge.
·
Interpersonal Communication Skill.
·
Character and Ethics.
·
Problem-Solving Skill.
·
System analysis and Design skills
Software Analyst vs Software
Engineer
|
Software
Analyst |
Software
Engineer |
|
1. Deals with overall
management of engineering projects during the life cycle. |
Designs and develop software
applications. |
|
2. Focuses on users and
domains. |
Primarily focuses on developing
software. |
|
3. Applies technical,
analytical, communicative, and managerial skills and techniques. |
Applies scientific and
mathematical principles. |
|
4. Responsible for documenting
project progress for quality control. |
Focuses on design, development,
testing, and evaluation of software. |
|
5. May not be as technical or
proficient with programming. |
Highly technical and proficient
with programming. |
|
6. Needs coding and managerial
skills. |
Skilled in coding and
continuous learning. |
|
7. Fulfills the gap between IT
and business. |
Strengthens software
development. |
Requirement Collection
Methods:
Requirement collection is part of
the system analysis phase of the SDLC. It involves gathering and analyzing
requirements, which can be divided into functional and non-functional
requirements. Different methods are used for gathering requirements:
- Interview
- Survey/ Questionnaire
- On-site Observation
- Brainstorming
- Document Analysis
- Focus Group
- Prototyping
- Requirement Workshop
Explain requirement collection
methods:
During system analysis, data are
collected from various available sources by using different methods, some of
them are:
1. Interview:
Interviews of
stakeholders and users are critical to developing great software. Without
understanding the goals and expectations of the users and stakeholders, we are
very unlikely to satisfy them.
2. Survey
/ Questionnaire:
Individual
interviews present several challenges: They can be tricky to schedule and time
consuming for the interviewer. So, we can collect information from many people
by doing a survey or questionnaire.
3. On-site
Observation:
By observing
users and the work process, an analyst can identify process flow, steps, pain
points, and opportunities for improvement.
4. Brainstorming:
Brainstorming is
used in requirement gathering to get as many ideas as possible from a group of
people. Generally used to identify possible solutions to problems, and clarify
details of opportunities.
5. Document
Analysis:
Reviewing the
documentation of an existing system can help when creating requirement
documents as well as driving gap analysis for scoping migration project.
6. Focus
Group:
A focus group is
a gathering of people who are representative of the users or customers of a
product to get feedback.
7. Prototyping:
Prototyping is a
relatively modern technique for gathering requirements. In this approach, we
gather preliminary requirements that we use to build an initial version of the
solution — a prototype. We show this to the client, who then gives you
additional requirements.
8. Requirement
Workshops:
Workshops can be
very effective for gathering requirements structured than a brainstorming
session; involved parties collaborate to document requirements.
Software and Quality:
Software quality is the ability
of software to function as per user requirements. Key aspects of software
quality include:
- Good Design
- Reliability
- Durability
- Consistency
- Maintainability
- Value for Money
Software Development Model
A software development
methodology/model or system development methodology/model in software
engineering is a framework that is used to structure, plan and control the
process of developing an information system. The different types of most
popular system development model are as follows:
1. Waterfall model
It is a systematic and sequential
model to develop software that begins with system requirements and progress
through planning, modeling, construction. In this phase, once the development
is completed in each stage the turn goes to next step/stage and there is no any
turning back. It works as downhill structure. The diagram below shows waterfall
model with its stages.
Figure1:
Waterfall model
In this model, the stages of SDLC
are organized in a linear order. The new stage of SDLC begins only after the
completion of the previous stage.
The fundamental processes of
waterfall model are as follows:
- Requirements analysis and definition: It is
the first stage of waterfall model. In this stage, the developer should
identify the actual requirements of the given problem.
- System design: In this stage the systems
design process partitions the requirements to either hardware or software
systems.
- Implementation and unit system: During this
stage, the system design is realized and tested as a complete system to
ensure that the software requirements have been met.
- Operation and maintenance: In this stage, the
system is installed to the desired location. The maintenance involves
correcting errors which were not discovered in earlier stages of the life
cycle, improving the implementation of system units, and enhancing the
system’s service as new requirements are discovered.
Advantages of Waterfall Model
- The waterfall model is very easy to understand and
use.
- Managing this model is simple because every phase has
fixed tasks and a review process.
- Each phase happens one after another, so two phases
do not run at the same time.
- It is suitable for small projects where the
requirements are already clear and well-defined.
Disadvantages of Waterfall
Model
- After the project reaches the testing stage, it
becomes very hard to go back and fix mistakes made in earlier stages.
- A working version of the software is created only at
the end of the process.
- There is a lot of risk and uncertainty.
- It is not a good choice for complex or
object-oriented projects.
- It does not work well for long-term or continuous
projects.
- It is not suitable for projects where the
requirements may change often.
Prototype model
The prototype model is an
iterative software development model that focuses on creating a working
prototype of the software early in the development process. It involves
building a simplified version of the final product to gather feedback, validate
requirements, and refine the design. The prototype model consists of the
following key steps:
Figure 2: Diagram
Representation of Prototype Model
Requirements Gathering: Initially, the requirements of the software are
collected through discussions with stakeholders, end-users, and other relevant
parties. These requirements are used as a basis for creating the prototype.
Prototype Design (Quick
Design): In this phase, a basic design and structure for the prototype are
developed. The emphasis is on creating a representation of the core
functionality or features that address the primary user needs.
Build a Prototype: The
prototype is built using rapid development techniques. The focus is on creating
a functional prototype that demonstrates key aspects of the software's intended
functionality. The development process may involve using low-fidelity or
high-fidelity prototypes depending on the level of detail required.
Prototype Evaluation: The
developed prototype is shared with stakeholders, including end-users and
clients, to gather feedback and evaluate its usability, functionality, and
design. The evaluation can involve user testing, surveys, interviews, or any
other suitable methods to gather feedback.
Refinement and Iteration:
Based on the feedback received during the evaluation phase, the prototype is
refined and improved. Changes are made to address any shortcomings or
enhancements suggested by the stakeholders. This iterative process of
refinement and iteration continues until the prototype meets the desired
requirements and user expectations.
Prototype Evolution: Once
the prototype is refined and validated, it serves as the foundation for the
development of the final software product. The insights gained from the
prototype help in creating detailed specifications, architecture, and design
for the actual software development.
The advantages of the
prototype model include:
1. Enhanced
user involvement and feedback throughout the development process.
2. Early
detection and resolution of design flaws and requirements ambiguities.
3. Stakeholders
understand and approve the final product better because it is improved step by
step.
The disadvantages of the
prototype model are:
1. The
project can keep expanding because of constant changes and updates.
2. Increased
time and cost associated with prototype development and refinement.
3. It
can be hard to convert the prototype into a complete working system if the
process isn’t handled well.
Spiral Model
The Spiral Model is an iterative
software development model that combines elements of Waterfall and Prototype
models. It develops the system in repeated cycles called spirals,
where each spiral consists of planning, risk analysis, development, and
evaluation. The model allows for progressive refinement of the software through
repeated cycles, accommodating changes and mitigating risks throughout the
development process.
It focuses heavily on risk
analysis and continuous improvement in every phase.
The key components of the spiral
model include:
Phases: The spiral model
consists of four main phases, which are repeated in each iteration:
Planning: In this phase
project objectives, requirements, and constraints are defined. Risks are
identified and prioritized, and a plan is formulated to address them.
Risk Analysis: The
identified risks are assessed, and strategies are developed to mitigate them.
This involves analyzing alternatives, considering risk impact, and developing
risk management plans.
Engineering and Development:
In this phase, the software is designed, developed, and tested.
Iterative prototyping, if required, can be employed to gather user feedback,
and refine the design.
Evaluation: The software
is evaluated based on the defined objectives and requirements. This includes
user testing, feedback collection, and assessing the overall performance and
quality of the software.
Advantages Of Spiral Model
1. It
is good for big and complex projects
2. It
can be added at the mid-level of projects.
3. It
has strong controls on documentation.
4. In
this phase, it has more chances to produce software in the early software life
cycle.
Disadvantages Of Spiral Model
1.
This model can be costly to use.
2.
It should require high expertise in risk
analysis.
3.
The dependency on risk analysis is high due to
the project’s success.
4.
It is not suitable for small projects.
Uses
1.
This model is useful when costs and risk
evaluation required.
2.
When there is a medium to the high-risk project
at that time we can use this model.
3.
When customers are not clear about their
requirements.
4.
When rapidly changes expected
5.
Requirements are complex.
Agile development model
The agile model is a combination of iterative and
incremental process models. In the Agile model, the requirements are decomposed
into many small parts called iterations or sprints that can be incrementally
developed. The Agile model adopts Iterative development. Each incremental part
is developed over an iteration. Each iteration is intended to be small and
easily manageable and can be completed within a couple of weeks only. At a time
one iteration is planned, developed, and deployed to the customers. Long-term
plans are not made.
The steps involved in agile SDLC models are:
Requirement Gathering: -
In this step, development team must gather the requirements, by interaction
with the customer. development team should plan the time and effort needed to build the project. Based on this
information you can evaluate technical and economical feasibility.
Design the Requirements: -
In this step, development team will use user-flow-diagram or high level UML
diagrams to show the working of the new features and show how it will apply to
the existing software. Wireframing and designing user interfaces are done in
this phase.
Construction / Iteration: - In this step,
development team members start working on their project, which aims to deploy a
working product.
Testing / Quality Assurance: -
Testing involves unit testing, Integration testing, system testing. Brief
introduction of these three testing are as follows:
Unit Testing: - Unit
testing is the process of checking small pieces of code to ensure that the individual parts of a
program work properly on their own. Unit testing is used to test individual blocks (units) of code.
Integration Testing: -
Integration testing is used to identify and resolve any issues that may arise when different
units of the software are combined.
System Testing: - Goal is to ensure
that the software meets the requirements of the users and that if works
correctly in all possible scenarios.
5. Deployment:- In this
step, development team will deploy the working project to end users.
6. Feedback:- This is the
last step of Agile Model. In this, team receives feedback about the
product and works on correcting
bugs based on feedback provided by the customer.
Figure 4: Agile Model
Advantages of Agile Model
·
Highly flexible and adaptive to changing
requirements.
·
Faster delivery of working software in small
increments.
·
Continuous customer involvement increases
satisfaction.
·
Early detection and resolution of issues.
·
Better communication and collaboration within
the team.
·
Reduced project risk due to frequent testing and
review.
Disadvantages of Agile Model
·
Difficult to estimate final cost and time in
advance.
·
Requires experienced and skilled team members.
·
Customer involvement is required throughout.
·
Documentation may be weak or incomplete.
·
Frequent changes can cause confusion if not
properly managed.
System Design
System design is the process of defining the architecture, modules,
interfaces, and data for a system to satisfy specific requirements. It's
about figuring out how to build a system that meets the user's needs,
often focusing on non-functional requirements like scalability, reliability,
performance, and security.
Use Cases of System Design
System design is essential for:
- Guidance
for Development: Provides a clear plan and structure for the
development team, ensuring everyone is building towards a unified vision.
- Predicting
Costs and Effort: Helps estimate the required resources, time, and
budget for the project.
- Risk
Mitigation: Allows identifying and addressing potential issues (e.g.,
performance bottlenecks, security vulnerabilities) early in the
development lifecycle.10
- Documentation:
Serves as a primary reference for system maintenance, future upgrades, and
onboarding new team members.
- Ensuring
Non-Functional Requirements (NFRs): Guarantees the system will handle
load, be highly available, and perform as expected.
Different Modeling Tools used for system
design are follows:
1. Data Flow Diagram (DFD)
Definition: A graphical representation of the flow
of data through a system. It shows how data is input, processed, stored,
and output.
DFD stands for "Data Flow Diagram" through which
we can represent the flow of data graphically in a Information System.
By using DFD We can easily understand the overall
functionality of system because diagram represents the incoming data flow,
outgoing data flow and stored data in a graphical form.
It describes how data is processed in a system in terms of
input and output. A DFD model uses a no. of notations or symbols to represent
flow of data:
1. Each Process should have at least one input and one
output.
Example:
2. Each data store should have at least one data flow in and
one data flow out.
Example:
3. All processes in a DFD go to either another process or
data store.
Example:
4. All the external entities must be connected through a
process and entity can provide something to the software s/w as well as the
entity can consume some data from the s/w
DFD can be categorized in the
following forms:
1. Oth Level DFD:
It is a diagram which provides the entire systems data flows
and processing with a single process is call as context Diagram/Context
DFD/Level 0 DFD.
Example:
2. 1st Level DFD:
This is a more detailed version of the previous level that
includes the database and various important units and processes.
Example:
2. Entity-Relationship Diagram (ER Diagram)
- Definition:
A graphical representation that illustrates the structure of a database,
showing the entities (things) within a system, their attributes
(properties), and the relationships between them.
3. System Flow Diagram (SFD)
- Definition:
A diagram that shows the physical or logical flow of control and data
through the major components of a system, often focusing on the sequence
of operations and the documents or media used.
4. Decision Tree
·
Decision Tree is a graph which uses a branching
method in order to display all the possible outcomes of any decision.
·
It Helps in processing logic involved in
decision making and corresponding actions taken.
·
It is a diagram that shows conditions and their
alternative actions within horizontal tree framework.
·
It helps analysts to consider the sequence of
decisions and identifies the accurate decision that must be made.
5. Decision Table
·
Decision Table is just a tabular representation
of all conditions and actions. They are used to define clearly and concisely
the decision statement of a problem in tabular form.
·
It is used to describe complex problems in a
precise manner which is easily understandable.
·
We can derive decision table from decision tree.
·
It helps testers to search the effects of
combinations of different inputs and other software states that must correctly
implement business rules.
Components of Decision Table:
Condition Stub(section): It is the upper left
quadrant which lists all the conditions to be checked.
Action Stub: It is the lower left quadrant which
lists all the actions to be carried out to meet such conditions.
Condition Entry: It is the upper right quadrant which
provides answers to questions asked in condition stub quadrant.
Action Entry: it is the lower right quadrant which
provides the appropriate action resulting from the answers to the conditions in
the condition entry quadrant.
UML
Use Case
Why documentation is essential in developing a system? Explain its types in brief.
Documentation is an essential part of developing a system as it helps to ensure that stakeholders have a clear understanding of the system's requirements, design, and implementation. It provides a record of the project's progress and helps to communicate important information to stakeholders, such as developers, testers, and end-users. Documentation can also be used to identify problems or potential issues in the system, and to provide a basis for future improvements or modifications. Here are some of the most common types of documentation in system development:
a) User documentation: This type of documentation is intended for end-users of the system. It provides instructions on how to use the system, including step-by-step guides, user manuals, and help files.
b) Technical documentation: This type of documentation provides technical information about the system, including specifications, design documents, and API documentation. It is intended for developers, engineers, and other technical professionals.
c) Requirements documentation: This type of documentation captures the functional and nonfunctional requirements of the system. It includes details such as user stories, use cases, and acceptance criteria to ensure that the system meets stakeholder needs.
d) Design documentation: This type of documentation describes the architecture and design of the system. It includes diagrams, flowcharts, and other technical details that provide a clear understanding of how the system works.
e) Test documentation: This type of documentation outlines the testing strategy and approach for the system. It includes details such as test cases, test scenarios, and expected results to ensure that the system meets the requirements and is free from defects.
f) Maintenance documentation: This type of documentation provides information on how to maintain the system, including details such as how to troubleshoot common issues, perform upgrades, and manage backups.
Software Process Model – Objective Questions
MULTIPLE OF CHOICE QUESTIONS (1 MARK)
- 2081
Q.No. 9
Which model of SDLC is characterized by a linear progression of phases from requirements gathering to maintenance?
a. Waterfall model
b. Agile model
c. Spiral model
d. RAD model - 2080
GIIE Set A Q.No.8
Conducting feasibility analysis is done in which phase of SDLC?
a. Planning
b. Analysis
c. Design
d. Implementation - 2080
GIIE Set B Q.No.8
What does the term “QA” stand for in the software development process?
a. Quality Assurance
b. Quality Analysis
c. Quality Assessment
d. Quantity Assurance - 2080
Q.No.8
Which SDLC phase is used to ensure quality software?
a. implementation
b. maintenance
c. testing
d. system design - 2079
GIIE Set A Q.No.9
In which phase of SDLC software code is done?
a. Analysis
b. Design
c. Development
d. Maintenance - 2079
GIIE Set B Q.No.8
What software development approach follows plan, develop, test, repeat?
a. Agile
b. Waterfall
c. V-Model
d. Prototype - 2079
Set A Q.No.8
Which of the following is discovering requirement from a user in the requirement collection process?
a. Feasibility study
b. Requirement Elicitation
c. Requirement Specification
d. Requirement validation - A set
of programs written for a computer to perform a particular task is called…
a. hardware
b. software
c. both a & b
d. none of the above - ___
defines sequence of tasks that must be carried out to build new software.
a. computer
b. hardware
c. software development process
d. none of the above - SDLC
stands for…
a. software development life cycle
b. software/system development life cycle
c. software/system life cycle
d. scheme design life cycle - ___
is also called a preliminary investigation or need analysis phase.
a. system design
b. system study
c. system development
d. system testing - ___
is to determine whether the whole process of system analysis leading to
computerization would be worthwhile for the organization or not.
a. Feasibility study
b. system design
c. system development
d. testing
SHORT ANSWER QUESTIONS (5 MARKS)
- 2081
Q.No.13 How do various requirement gathering techniques help in achieving
a careful grasp of user needs and system requirements during SDLC’s
analysis phase? [5]
- 2080
GIIE Set A Q.No.13 Describe the different requirement collection methods
for development of software. [5]
- 2080
GIIE Set B Q.No.13 Explain the agile software development methodology in
brief. [5]
- 2080
Q.No.13 Explain the importance of the system testing phase in software
development life cycle (SDLC). [1+4]
- 2079
GIIE Set A Q.No.13 Explain requirement analysis phase of SDLC. [5]
- 2079
GIIE Set B Q.No.13 Describe the waterfall software development model with
pros and cons. [5]
- 2079
Set A Q.No.13 What are the major activities performed during requirements
analysis phase? Explain in brief. [5]
- 2078
Q.No.6 What is feasibility study? Explain. [5]
- 2077
GIIE Set B Q.No.6 Describe the desirable characteristics of a system
analyst. [5]
- 2076
GIIE Set A Q.No.6 What are roles of system analyst in SDLC phase? [5]
- 2076
GIIE Set B Q.No.6 What are the importances of SDLC in software development
process? [5]
- 2076
Q.No.6 Define SDLC. Describe the feasibility analysis methods. [2+3]
- 2075
GIIE Q.No.6 Explain system analysis phase of SDLC. [5]
https://mycsstudyhub.blogspot.com/


No comments:
Post a Comment