Chapter 6: Software Process Model (SPM) – Class 12 Computer Science Notes
Importantedunotes.com
Back to Computer Notes

Core Theory Notes

Define project. Write down the characteristics of a project.

A project is defined as a sequence of tasks that must be completed to attain a certain outcome. The characteristics of a project are as follows:

A clear start and end date: There are projects that last several years, but a project cannot go on forever. It needs to have a clear beginning, a defined end, and an overview of what happens in between.
Specific: The project must be specific. Being specific includes detailing out the project structure, goals, benefits, milestones, and cost.
A project has boundaries: A project operates within certain constraints of time, money, quality, and functionality.
Measurable: A clearly defined project must be measurable in terms of benefits and achievements.
Clear communication: To run a project smoothly, there must be clear communication all the way among the group members.

What is a software process?
The processes that deal with the technical and management issues of software development are collectively called the software process.

Define SDLC. Why is it important in system development?

SDLC is a process followed for a software project within a software organization. It consists of a detailed plan describing how to develop, maintain, replace, and alter or enhance specific software.

The importance of SDLC is as follows:

It offers a basis for project planning, scheduling, and estimating.
It provides a framework for a standard set of activities and deliverables.
It is a mechanism for project tracking and control.
Increased and enhanced development speed.
Improved client relations.

What is SDLC? Explain its different stages with a block diagram.

SDLC is a process followed for a software project within a software organization. It consists of a detailed plan describing how to develop, maintain, replace, and alter or enhance specific software.

SDLC Diagram

Fig: SDLC Stages

1. System Study

This is the initial and one of the most important phases of SDLC. The purpose of this step is to find out the scope of the problem and determine solutions. Resources, cost, time, benefits, and other items should be considered at this stage. This phase might involve trying to meet or exceed expectations for their employees, customers, and stakeholders too.

2. System Analysis

The second phase is where teams consider the functional requirements of the project or solution. System analysis is a process of collecting factual data, understanding the processes involved, identifying problems, and recommending feasible suggestions.

3. System Design

System design is the most creative and challenging phase of the system life cycle. The design phase is the “architectural phase” of the system life cycle. This phase describes, in detail, the necessary specifications, features, and operations that will satisfy the functional requirements of the proposed system.

4. System Development

Now the real work begins; the development phase marks the end of the initial section of the process. After the design stage is complete, the final program specification and the file design are handed over to the programmer. Then, the programmer begins to develop the program by using a suitable High-Level Language (HLL).

5. System Testing

Once the program modules are ready, each of the program modules is tested independently as per the specifications of the users and debugged. This step is the most complex, most time-consuming, and most expensive step in SDLC.

6. System Implementation

After the new system is ready, it is implemented in the organization. Then the new system becomes a part of the daily activities of an organization. During this stage, applications are installed and loaded on existing or new hardware, and users are introduced to the new system and trained.

7. System Maintenance

When the system is operating in an organization, users sometimes find problems with how it works and often think of better ways to perform its functions. When the time changes, the requirements of the organization also get changed, and the existing system cannot fulfill them.


What is a feasibility study? Explain different levels of a feasibility study.

A feasibility study aims to provide an independent assessment that examines all aspects of a proposed project, including technical, economic, financial, legal, and environmental considerations.

1. Technical Feasibility

It is concerned with specifying different devices and software for the new system. It determines the required devices which are necessary for the development of the new system and whether they are available or not.

2. Operational Feasibility

It is mainly related to human skills and political aspects. It assesses if the current staff can work in the new system after training or not. If the whole staff needs a very long time and more cost to be trained in the new system, then the new system will not be feasible.

3. Legal Feasibility

It is mainly focused on analyzing any violation of government laws or not. Legal feasibility of the project determines whether the proposed system conflicts with legal requirements like any data protection act or any social media law.

4. Schedule Feasibility / Time Feasibility

It is concerned with whether the time required for the development of the new system is feasible or not. If a deadline (time limit) is established, it is called schedule feasibility.

5. Behavioral Feasibility

It evaluates and estimates the user attitude or behavior towards the development of the new system. It helps in determining if the system requires special effort to educate, retrain, transfer, and make changes in an employee’s job.


Write a short note on Black Box Testing and White Box Testing.
Black Box Testing: It is called black box testing because the test processes are totally hidden from the general user. It is also called functional testing. The internal code of the program is tested.
White Box Testing: It is called white box testing because the test processes are totally visible to the general user. It is also called glass box testing. The structure of the program is tested.

Types of Maintenance
Adaptive Maintenance: It is needed when the environment of software changes, like a change in the operating system, hardware, etc. It refers to organizational policies or rules as well.
Corrective Maintenance: It addresses the errors and faults within software applications that could impact various parts of our software, including design, code, and logic.
Perfective Maintenance: It focuses on the evolution of requirements and features that exist in our software. It removes the features that aren’t effective and functional.
Preventive Maintenance: It helps to make changes and adaptations to our software so that it can work for a longer period of time. It optimizes code and updates the documents as needed.

Difference between System Analyst and Software Engineer

System Analyst

They focus on understanding and analyzing the overall business requirements and processes.
They require strong analytical skills, problem-solving skills, and good understanding skills.
They act as a bridge between users and technical teams.
They are primarily involved in the early stages of the SDLC.
They focus on broader business strategy and requirements management.

Software Engineer

They focus on designing, developing, implementing, and maintaining software applications or software.
They require proficiency in programming languages, software development methodologies, debugging, and testing.
They are responsible for ensuring the software meets quality standards.
They are involved throughout the SDLC process.
They can advance to roles such as senior software engineer, technical lead, etc.

System Analyst: Introduction, Roles, and Characteristics

Introduction: A system analyst is a person who guides the analysis, design, implementation, and maintenance of a given system. A system analyst is involved in the SDLC, studying the problems of the system, interacting with customers, preparing documentation, planning solutions, and also helping programmers with coding.

Roles:

Defining requirements.
Prioritizing requirements.
Gathering data, facts, and opinions of users.
Analysis and evaluation.
Solving problems.
Drawing up functional specifications.
Designing systems.

Characteristics / Attributes and Qualities of a System Analyst

Communication Skills: System analysts spend a great deal of time engaging with users, consumers, management, and developers according to the nature of the work. The performance of a project may rely on the system analyst clearly communicating information such as project specifications, adjustments required, and results of testing.

Technical Skills: An analyst should know what IT technologies are being used in order to find system solutions, what new potential results can be accomplished across existing systems, and what the latest technology offers.

Analytical Skills: The skill set of an analyst should include excellent analytical abilities in order to better analyze the needs of a client and convert them into application and organizational requirements. This includes analyzing information, records, user feedback, surveys, and workflows to decide which course of action to take.

Problem-Solving Skills: Although analysts are not always exceptional in the ability to develop workable solutions to problems, it is a required skill to effectively perform the job. As with most IT positions, the career of the system analyst can be spent coping with regular and random modifications.

Decision-Making Skills: The capacity to make decisions is another significant system analyst skill. In a broad range of system problems, the system analyst is called upon for sound judgment as a management figure.

Managerial Skills: The ability to manage projects is another ability a system analyst should possess. This involves planning the scope of the project, directing team members, managing demands for adjustment, predicting budgets, and keeping everyone on the project under assigned time limits.


Define Software Engineering. Why is it required? Characteristics of a Good Software Engineer.

Software Engineering: Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.

Why Software Engineering is required:

To manage large software.
For more scalability.
Cost management.
To manage the dynamic nature of software.
For better quality management.

Characteristics of a Good Software Engineer:

Good programming abilities.
High motivation.
Sound knowledge of the fundamentals of computer science.
Ability to work in a team.
Discipline.

Requirement Collection Methods

Collecting requirements for a project is a very vital part. The collect requirements process helps to define the project scope during scope management. The techniques used to collect requirements are:

Interviewing
Focus Group
Brainstorming
Benchmarking
Decision making
Idea/mind mapping
Questionnaires & surveys
Observation
Prototypes
Group Decision Making

System Design: Meaning, Elements, Subsets, and Approaches

System design is the process of defining the components, modules, interfaces, and data for a system to satisfy specified requirements.

Elements of system design:

Design and redesign of business process.
Defining Data models and architecture.
Defining the events and their procedure.
Designing of Applications.
Defining how the system will be secured.

The Various Subsets of System Design

1) Logical Design: Logical design describes the general functional capabilities of a new system. Data flow and E-R diagrams are used, respectively.

2) Physical Design: The process of actual input and output of the system is related to physical design. The main criteria of physical design are to manage how the data is verified, processed, and displayed as a result.

System Design Approaches

i) Top down

In this approach, we focus on breaking up the problem into smaller parts.
Each part is programmed separately, therefore containing redundancy.
In this, the communication is less among modules.
It is used in debugging, module documentation, etc.

ii) Bottom up

Redundancy is minimized by using data encapsulation and data hiding.
In this, modules must have communication.
It is basically used in testing.
In the bottom-up approach, composition takes place.

System Design Tools

System design tools play an important role in system development.

1) Flowchart

A flowchart is a very important tool for developing an algorithm and program. It is a pictorial representation of the step-by-step solution of a program. Programmers often use it as a program planning tool for visually organizing the steps necessary to solve a problem. It uses boxes of different shapes that denote different types of instructions. It is of the following types:

Program flow chart
System Flow Chart
Program Flowchart

A programming flowchart is a visualization tool programmers use when creating new applications to understand a process, workflow, or algorithm. It typically uses geometric shapes to represent steps and arrows to communicate the flow of data. These programming flowcharts also analyze the logic behind the program to process the code of the programming.

Program Flowchart

Fig: Program Flowchart

System Flowchart

System flowcharts are graphic illustrations of the physical flow of information through the entire accounting system. Flow lines represent the sequences of the process, and other symbols represent the inputs and outputs to a process.

System Flowchart

Fig: System Flowchart

A system flowchart shows:

The tasks to be carried out in the new system, whether manually or by computer.
The devices (disc drives, tape drives, keyboards, VDU monitors) that are used.
The media used for input, storage, and output (tapes, hard disks, paper).
The files that the system uses.

2) Context Diagram

A diagram used to give an overview of an entire system. In a context diagram, there is only one circle/process that represents the entire system. Through this display, a system analyst can model what expected data is going to go into the system, and then after it has been processed by the system, what information will be returning to the external entities.

Context Diagram

Fig: Context Diagram

Context Level Diagram Example

Fig: Context Level Diagram Example

3) Data Flow Diagram

A data flow diagram presents the logical flow of information through a system in graphical or pictorial form. Data flow diagrams have only four symbols, which makes them useful for communication between analysts and users. A data flow diagram (or DFD) is a graphical representation of the flow of data through an information system. It is of three types:

Level zero DFD
Level one DFD
Level two DFD
Data Flow Diagram

Fig: Data Flow Diagram

4) Entity Relation Diagram

An entity-relationship model (ER model) describes the structure of a database with the help of a diagram, which is known as an Entity Relationship Diagram (ER Diagram). An ER model is a design or blueprint of a database that can later be implemented as a database. An entity is a thing or object in the real world that is distinguishable from its surrounding environment. For example, each employee of an organization is a separate entity. Entities can have relationships with each other.

Facts about ER Diagram model:

ER model allows you to draw Database Design.
It is an easy-to-use graphical tool for modeling data.
Widely used in Database Design.
It is a GUI representation of the logical structure of a database.

Components of an ER Diagram:

Components of ER Diagram

Fig: Components of an ER Diagram

a) Entity: An entity is an object or component of data. An entity is represented as a rectangle in an ER diagram. For example, we have two entities, Student and College, and these two entities have a many-to-one relationship as many students study in a single college.

Entity Example

Fig: Entity

b) Attribute: An attribute describes the property of an entity. An attribute is represented as an oval in an ER Diagram.

Attribute Example

Fig: Attribute

c) Relationship: A relationship is represented by a diamond shape in an ER diagram; it shows the relationship among entities. There are four types of cardinal relationships:

Relationship Example

Fig: Relationship

One to one: When a single instance of an entity is associated with a single instance of another entity. Example: a person has only one passport and a passport is given to one person.
One to many: When a single instance of an entity is associated with more than one instance of another entity. Example: [Customer] (1) — Placed — (M) [Order]
Many to one: When more than one instance of an entity is associated with a single instance of another entity. Example: [Student] (M) — Study — (1) [College]
Many to many: When more than one instance of an entity is associated with more than one instance of another entity. Example: [Student] (M) — Assigned — (M) [Project]

5) Algorithm

An algorithm is a procedure or formula for solving a problem. A computer program can be viewed as an elaborate algorithm. In mathematics and computer science, an algorithm usually means a small procedure that solves a recurrent problem. Algorithm refers to the logic. It is a step-by-step description of how to arrive at the solution to the problem. A good algorithm helps us to create a good program.

An algorithm must possess the following characteristics:

Finiteness
Input
Output
Definiteness
Effectiveness

6) Pseudocode

Most programs are developed using programming languages. These languages have specific syntax that must be used so that the program will run properly. Pseudocode is not a programming language; it is a simple way of describing a set of instructions that does not have to use specific syntax. “Pseudo” is “fake” or “false”. So, pseudo-code is ‘fake code’ or ‘false code’. Pseudocode is an artificial and informal language that helps programmers to develop algorithms.

7) Use Case Diagram

A use case is a series of related interactions between a user (or more generally, an “actor”) and a system that enables the user to achieve a goal. A use case describes the system’s behavior as it responds to a series of related requests from an actor. Use cases are the best way to capture functional requirements of a system.

A use case diagram consists of:

Actor
Use case
System
Use Case Diagram Example

Fig: Use Case Diagram Example

8) Decision Tree Diagram

A decision tree is a set of rules for what to do in certain conditions, and if a particular condition satisfies, do that; otherwise, go to this step. They can be used to enforce strict compliance with local procedures, and avoid improper behaviors, especially in complex procedures or life-and-death situations.

9) Decision Table

A decision table is a table with various conditions and their corresponding actions. A decision table is a two-dimensional matrix. It is divided into four parts: condition stub, action stub, condition entry, and action entry. Condition stub shows the various possible conditions.


Software and Quality

Quality: The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations. Software quality is defined as a field of study and practice that describes the desirable attributes of a software product. The definition is applicable for software as well as for a generic software product.

Key aspects that conclude software quality include:

Fulfill customer’s Requirements
Good design
Reliability
Durability
Consistency
Maintainability
Value for money

Software Development Model (SDLC Models)

Different types of SDLC models are:

Waterfall model
Prototype model
Spiral model
Agile methodology

1) Waterfall Model

The waterfall model is a sequential (non-iterative) design process used for software development. This model is suitable for routine types of jobs in which all the problems are already known. The method is very simple to understand and use and there is no overlapping in the phases. This model describes following of phases downwards one by one.

Waterfall Model

Fig: Waterfall Model

Advantages:

This model is simple and easy to understand and use.
In this model, phases are processed and completed one at a time.
The phases do not overlap as only one phase executes at a time.

Disadvantages:

This model isn’t suitable for randomly changing requirements.
High amount of risk and uncertainty.

2) Prototype Model

A prototype model is a working model that does not normally have all the required features or provide all the functionality of the final system. In this model, it is assumed that all the requirements may not be known at the start of the development of the system.

Prototype Model

Fig: Prototype Model

Advantages:

It is good for new and specific software systems.
Immediate feedback from the user minimizes the errors.
User is highly satisfied at the end because the whole product is built according to him.

Disadvantages:

It is a slow process.
It becomes very difficult to calculate the cost of the project, as we don’t know how many iterations it would take.
If the end user is not satisfied with the initial prototype, he/she may lose interest in the project.

3) Spiral Model

The spiral model is a software development model designed to control risk. The spiral model repeats steps of a project, starting with modest goals and expanding outward in ever-wider spirals (called rounds). This lowers the overall risk of the project: large risks should be identified and mitigated.

Steps of spiral model:

Planning objectives or identify alternative software.
Risk analysis and resolving.
Develop the next level of product.
Plan the next phase.

Advantages:

Development is fast.
Larger projects/software are created and handled in a strategic way.
Risk evaluation is proper.

Disadvantages:

Risk analysis is an important phase so requires expert people.
Is not beneficial for smaller projects.
Spiral may go infinitely.

4) Agile Software Development

The Agile software development methodology is one of the simplest and most effective processes to turn a vision for a business need into software solutions. Agile is a term used to describe software development approaches that employ continual planning. It encourages flexible responses to change.

Agile Software Development

Fig: Agile Software Development

Values:

Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.

Principles:

Customer satisfaction through early and continuous software delivery.
Enable face-to-face interactions.
Measure of progress.
Technical excellence.
Keep the work simple.
Self-organized teams.

Documentation

Documentation in software engineering is the umbrella term that encompasses all written documents and materials dealing with a software product’s development and use. All software development products, whether created by a small team or a large corporation, require some related documentation.

Types of User Documentation:

How-to guides
Tutorials
Reference docs
System documentation
Administration Guide
Configuration Guide

Developer Documentation:

API documentation
Release notes
README

SDLC Exercise Solution: Old is Gold

1
Which Model of SDLC is characterized by a linear program of phases from requirements gathering to maintenance?
→ Waterfall model
2
Conducting feasibility analysis is done in which phase of SDLC?
→ Planning
3
What does the term ‘QA’ stand for in SDLC?
→ Quality Assurance
4
Which SDLC phase is used to ensure software quality?
→ Testing
5
In which phase of SDLC is software coding done?
→ Development
6
What software development approach should a company use if they want to consider input of users in the development process?
→ Agile
7
Which of the following is discovering requirements from a user in the requirement collection process?
→ Requirement Elicitation
8
A set of programs written for a computer to perform a particular task is called?
→ Software
9
___ defines a sequence of tasks that must be carried out to build new software.
→ Software development process
10
SDLC stands for:
→ Software Development Life Cycle
11
___ is also called a preliminary investigation phase.
→ System design (Analysis phase)
12
___ is to determine whether the whole process of system analysis leading to computerization would be worthwhile for the organization or not.
→ Feasibility study

Short Answer Questions

13. Describe the different requirement collection methods for the development of software.

The different requirement collection methods for the development of software are:

Interviewing: A tool to engage personally with stakeholders to understand needs. Interviewing is the first collect requirement technique. It can be done through a meeting, through a phone call, or through emails.
Focus group: Focus groups is the second collect requirement technique and it is used to get a specific set of stakeholder’s requirements.
Mind mapping: This collect requirements process technique is actually a diagram of ideas or notes to help visually classify or decode information.
Questionnaires and surveys: This technique for the collect requirement process is used for a large group where there are several stakeholders that you have to collect their requirements.
Prototypes: In this collect requirements process technique, a model of the proposed product is developed, and then this model is presented to stakeholders for feedback.

14. Explain the agile software development methodology in brief.
Agile Software Development

Fig: Agile Software Development

The Agile Software development methodology is one of the simplest and most effective processes to turn a vision for a business need into software solutions. Agile is a term used to describe software development approaches that employ continual planning, learning, improvement, team collaboration, evolutionary development, and early delivery. It encourages flexible responses to change. It aims to help uncover better ways of developing software by providing a clear and measurable structure that promotes iterative development, team collaboration, and change recognition.

Values of Agile:

Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.

15. Explain the importance of system testing of SDLC.

The importance of system testing of SDLC:

It reduces the expenses associated with post-release and maintenance.
Increases user trust by delivering functional products.
Boosts user confidence.
Ensures the software adheres to regulatory and industry standards.
Minimizes the chances of unexpected failures or issues.
Improve overall software quality.

16. What is feasibility study? Explain.

After the development team proposes the new system, the feasibility study or survey is performed in order to determine whether the system will be feasible or not. There are different types of feasibility studies. They are:

Technical feasibility: It is concerned with specifying different devices and software for the new system. It determines the required devices which are necessary for the development of the new system and whether they are available or not.
Operational feasibility: It is mainly related to human skills and political aspects. It determines if the current staff can work in the new system after training or not.
Economic feasibility: This involves the feasibility of the proposed project to generate economic benefits, more commonly known as cost-benefit analysis. Economic feasibility determines whether the required software is capable of generating financial benefits for the organization.
Legal feasibility: It is mainly focused on analyzing any violation of government laws or not. Legal feasibility of the project determines if the proposed system aligns with legal requirements like any data protection act or any social media law.
Behavioural Feasibility: It evaluates and estimates the user’s attitude or behaviour towards the development of the new system. It helps in determining if the system requires special effort to educate, retrain, and transfer staff on new ways of conducting business.

17. Describe the desirable characteristics of a system analyst.

The person who guides the analysis, design, implementation, and maintenance of a given system is called a system analyst. The desirable characteristics of a system analyst are:

Communication skills: System analysts spend a great deal of time engaging with users, consumer management, and developers according to the nature of work.
Technical skills: An analyst should know what IT technologies are being used in order to find system solutions, what new potential results can be accomplished across existing systems, and what the latest technology offers.
Analytical skills: The skill set of an analyst should include excellent analytical abilities in order to better analyze the needs of a client and convert them into application and organization requirements.
Problem-solving skills: Although analysts are not always exceptional in the ability to develop workable solutions to problems, it is a required skill to effectively perform the job.
Decision-making skills: It plays a vital role in every stage of the Software Development Life Cycle (SDLC). Guiding the development process toward successful outcomes within the SDLC framework involves design, decision making, weighing their pros and cons, and selecting the most appropriate course of action.

18. What are the roles of a system analyst in the SDLC phases?

The roles of a system analyst in SDLC phases are:

Defining requirements: The most important and difficult task of a system analyst is to define the user requirements. It involves interviewing, field visits, etc.
Prioritizing requirements: The responsibility of the system analyst requires good interpersonal relations and diplomacy, as there is a need to set priority among the requirements of various users.
Gathering data, facts, and opinions of users: While developing the system, the analyst must continuously consult the users and get their views.
Analysis and evaluation: The system analyst analyzes the working of the current information system in the organization and finds out its drawbacks.
Solving problems: A system analyst is basically a problem solver, as she/he has to solve all the problems during the software development process.

19. What is the importance of SDLC?

The importance of SDLC is as follows:

Improved client relations.
Increased and enhanced development speed.
It also makes it easier for programmers to work concurrently.
It is a mechanism for project tracking and control.
It offers a basis for project planning, scheduling, and estimating.
It provides a framework for a standard set of activities.

20. What is a waterfall model? Write its pros and cons.

A sequential design process used for software development is called the waterfall model.

Pros:

This model is simple and easy to understand and use.
This model’s phases are processed and completed one at a time.
These phases do not overlap, as only one phase executes at a time.

Cons:

This model isn’t suitable for randomly changing requirements.
High amount of risk and uncertainty.
If we go to the next phase, then it is difficult to go back to the previous phase.

21. Explain the different test techniques during system development.

The different test techniques during system development are:

White box testing: It is also called glass box testing. The structure of the program is tested. It is called white box testing because the test processes are totally visible to the general user.
Black box testing: It is called black box testing because the test processes are totally hidden from the general user. It is functional testing. The internal code of the program is tested.

22. What is documentation? Explain the importance of documentation in program design.

Documentation in software engineering is the umbrella term that encompasses all written documents and materials associated with a software product in its development and use. The importance of documentation in program design is:

Clarity and understanding: Well-documented code helps developers understand how the system works and what each component is supposed to do.
Maintenance and debugging: Good documentation provides context and insights into the design decisions and logic behind the code.
Consistency: Documentation ensures that coding standards and design patterns are followed consistently across the codebase, which helps in maintaining code quality.
Collaboration: It facilitates better communication among team members. When multiple developers are working on the same project, documentation helps them understand each other’s work and avoid conflicts.

23. What are the different symbols used to construct a flowchart? Give a brief explanation with a neat diagram.

Flowcharts use various symbols to represent different types of actions or steps in a process. These are some common flowchart symbols:

External entity: An element that inputs data into an information system and relays data from the information system.
Process: When an action takes place on data, potentially one of the information processes.
Flow line: Illustrates the movement of data from one entity/process to another.
Data Store: A location where data is saved to or retrieved from, such as a database.
Flowchart Symbols

Fig: Symbols used in a Flowchart


24. Difference between decision table and decision tree with examples.
Decision TableDecision Tree
A decision table is a table that indicates conditions and actions in a simplified and orderly manner.A decision tree is a graphical representation of possible solutions to a decision based on certain terms and conditions.
Extended entry table and limited entry table are its types.Variable decision and continuous variable decision trees are its types.
The purpose of a decision table is to structure logic by generating rules derived from data entered in the table itself.The purpose of a decision tree is to give an effective and easy way to visualize and understand the potential options or decisions.

25. What are the different symbols used to construct a flow chart? Give a brief explanation along with a neat diagram.

The different symbols used to construct a flowchart are the rectangle, diamond, parallelogram, and oval. They are graphic illustrations of the physical flow of information through the entire accounting system. Flow lines represent the sequence of processes, and other symbols represent the inputs and outputs to a process.

Flowchart Example

Fig: Flowchart Example

Note: Accountants use system flowcharts to describe the computerized processes, manual operations, and inputs and outputs of an application system. Auditors use system flowcharts to identify key control points in an accounting system’s internal control structure.

26. What is an E-R diagram? Write the meaning of graphical symbols used in an E-R diagram.

An entity-relationship model that describes the structure of a database with the help of a diagram is called an ER diagram. The meanings of graphical symbols used in an ER diagram are:

Entity: It is an object or component of data. An entity is represented as a rectangle in an ER diagram.
Entity

Fig: Entity

Attribute: An attribute describes the property of an entity. An attribute is represented as an oval in an ER diagram.
Attribute

Fig: Attribute

Relationship: It defines the numerical attributes of the relationship between two entities or entity sets. It is represented by a diamond.
Relationship

Fig: Relationship


27. What are the different program logic tools?

The different program logic tools are:

Algorithm: A procedure or formula for solving a problem. A computer program can be viewed as an elaborated algorithm. In mathematics and computer science, an algorithm usually means a small procedure that solves a recurrent problem.
Flowchart: A flowchart is a very important tool for developing algorithms and programs. It is a pictorial representation of a step-by-step solution to a problem.
Pseudocode: Most programs are developed using programming languages. These languages have specific symbols that must be used so that the program will run properly.
Data Flow Diagram (DFD): DFDs present the logical flow of information through a system in graphical or pictorial form. Data flow diagrams use only four symbols, which makes them useful for communication between analysts and users.
Use Case Diagram: A use case is a series of interactions between a user (or more generally, an actor) and a system that enables the user to achieve a goal. A use case describes system behavior as it responds to a series of related requests from an actor.

28. Define program logic. Explain different types of program logic tools.

Program logic is the implementation of the program’s requirements and design. If the design of the application is bad, the program logic can nevertheless be professionally implemented.

The different types of program logic tools are as follows:

Compiler: An application that translates high-level programming language into machine code.
Text Editor: Used to write and edit code in various programming languages.
Debugger: Detects and removes errors or bugs from source code.
Assembler: Converts assembly language into machine code.

29. Explain SDLC with appropriate diagram.

SDLC is a process followed for a software project within a software organization. It consists of a detailed plan describing how to develop, maintain, replace, and alter or enhance specific software.

SDLC Diagram Software Process Model

Fig: SDLC Stages

System Study: This is the initial and one of the most important phases of SDLC. The purpose of this step is to find out the scope of the problem and determine solutions. Resources, costs, time, benefits, and other items should be considered at this stage.
System Analysis: The second phase is where teams consider the functional requirements of the project or solution. System analysis is a process of collecting factual data, understanding the processes involved, identifying problems, and recommending feasible suggestions.
System Design: System design is the most creative and challenging phase of the system life cycle. The design phase is the “architectural” phase of system design.
System Development: Now the real work begins; the development phase marks the end of the initial section of the process. After the design stage is complete, the final program specification and the file design are handed over to the programmer.
System Testing: Once the program modules are ready, each of the program modules is tested independently as per the specifications of the users and debugged. This step is the most complex, most time-consuming, and most expensive step in SDLC.
System Implementation: After the new system is ready, it is implemented in the organization. Then the new system becomes a part of the daily activities of an organization.
System Maintenance: When the system is operating in an organization, users sometimes find problems with how it works and often think of better ways to perform its functions.

30. What is an expert system? Explain the fields of an expert system.

A computer program (software) that uses artificial intelligence (AI) to reproduce the judgment of a human with expert knowledge in a particular field is known as an expert system.

The fields of expert systems are as follows. It is the most important applied area of AI. An expert system contains knowledge about its application domain and uses an inferencing procedure to solve problems that would otherwise require human competence or expertise. They are interactive, trustworthy, computer-based decision-making tools that utilize data and heuristics to address challenging decision-making issues. It is regarded as representing the pinnacle of human systems; its job is to resolve the trickiest problems in a specific field.


31. What is the importance of DFD in SDLC?

The importance of DFD in SDLC are:

Visual Representation: DFDs provide a clear visual representation of how data moves through a system, showing the flow between processes, data storage, and external entities.
Requirement Analysis: They help in understanding and documenting the requirements by illustrating how inputs are transformed into outputs, which helps in identifying system flaws.
Communication Tools: DFDs serve as a communication tool between stakeholders, including developers, clients, and analysts, ensuring everyone has a shared understanding of the system’s functionality.

32. What are the different symbols used to construct a Flow Chart? Give a brief explanation along with a neat diagram.

A flowchart is a very important tool for developing algorithms and programs. It is a pictorial representation of a step-by-step solution to a problem. Programmers often use it as a program planning tool for visually organizing the steps necessary to solve a problem. It uses boxes of different shapes that denote different types of instructions. While making a flowchart, a programmer need not pay attention to the elements of the programming language.

Flowchart Symbols Software Process Model

Fig: Symbols used in a Flowchart


33. Describe the system flowchart with a diagram.

A system flowchart is a graphic illustration of the physical flow of information through the entire accounting system. Flow lines represent the sequences of processes, and other symbols represent the inputs and outputs to a process.

A system flowchart shows:

The tasks to be carried out in the new system, whether manually or by computer.
The media used for input, storage, and output (tapes, hard disks, paper).
The files that the system uses.
System Flowchart Software Process Model Example

Fig: System Flowchart Example


34. What are documentation techniques? Explain with an example.

Documentation techniques include the methods and tools used to record, organize, and maintain information about a process, system, project, or product. These techniques are essential for ensuring that all relevant details are captured, easily accessible, and comprehensible to stakeholders. Here are some common documentation techniques with examples:

Written Documentation: A user manual for a software application. It includes detailed instructions on how to install, configure, and use the software, complete with screenshots and step-by-step guides.
Flowchart and Diagrams: A flowchart illustrating the process of customer support. It shows the steps from receiving a customer inquiry to resolving the issue, including decision points and alternative paths.
Technical Specification: A technical specification document for a new electronic device. It includes detailed information about the device components, performance criteria, and compliance with industry standards.

35. What is a system? Explain the basic elements of a system.

A system is a set of interacting or interdependent components that work together to form a complex whole. The basic elements of a system are as follows:

Hardware: The physical components of the system, such as the processor (CPU), memory (RAM), storage devices, input/output devices (keyboard/mouse, monitor), and networking equipment.
Data: The information processed and produced by the system, including user data, system configuration data, and operational data.
Users: The people who interact with the system, whether they are end-users, administrators, or developers.
Procedures: The instructions and rules that govern the operation and use of the system, including user manuals, operational protocols, and security policies.

36. How do various requirement gathering techniques help in achieving a careful grasp of user needs and system requirements during the SDLC analysis phase?
Various requirement gathering techniques help in achieving a careful grasp of user needs and system requirements during the SDLC analysis phase because they give the analyst a proper idea of how the work needs to be done. It gives the analyst a proper idea of what society needs. Based upon it, the analyst starts to gather information and various requirements so that it is effective for the people and beneficial for the future. Thus, a system analyst gathers the problems and finds suitable suggestions and preventative measures.

37. Explain the importance of system testing in the system development life cycle.
The importance of system testing in the system development life cycle is that after a particular software is developed, it is implemented by the designer in the particular field. When it is implemented for the person using it, they may find loopholes or errors in the software. They inform the analyst about the errors they found so that they can be corrected to make the software effective.

38. Explain the requirement analysis phase of SDLC.
System analysis is the process of collecting accurate data, identifying problems, and recommending feasible suggestions for improving the system’s functioning. This involves studying the business, gathering operational data, understanding the information flow, finding out bottlenecks, and evolving solutions for overcoming the weaknesses of the system so as to achieve the organizational goals.

39. How can you test a newly developed system?

You can test a newly developed system in the following ways:

White Box Testing: Testing performed while viewing all internal details is called white box testing. In white box testing, the internal source code of a program is tested, such as operators, expressions, control statements, various constants, etc.
Black Box Testing: Testing performed without viewing all internal details is called black box testing. Instead of testing the coding part of the software, the program is tested to verify the desired output of the given code.

40. Describe the different requirement collection methods for the development of software.

Collecting requirements is a crucial activity in project management because the requirements of a project define the project scope. There are different methods for gathering requirements for developing software:

Interviewing
Focus Groups
Brainstorming
Benchmarking
Decision making
Mind mapping
Questionnaires and surveys
Observation
Prototyping
Group Decision making

41. Define the terms DFD and E-R diagram.
DFD (Data Flow Diagram): Data flow diagrams present the logical flow of information through a system in a graphical form. A data flow diagram includes shapes for data stores, representing locations where data is stored and accessed, such as specific databases.
E-R Diagram (Entity-Relationship Diagram): An entity-relationship diagram describes the structure of a database with the help of a diagram. It is a high-level data model.

42. What do you mean by a program algorithm? Explain the aims of program design and the building blocks of structured programming.

A program algorithm is a procedure or formula for solving a problem. It is based on conducting a sequence of specified actions in which these actions describe how to do something, and your computer will do it exactly that way every time.

Structured Programming is a paradigm that aims to make programs easier to comprehend from a reader’s point of view. It does this by linearizing the flow of control through a program. In structured programming, execution follows the writing order of the code.

📄 View / Download Full PDF Notes

If the PDF doesn’t load, click here to open it in Google Drive.

📚 Also Read: NEB Notes

Scroll to Top