Skip to main content

🎓 New resources added daily! Join over 50,000 students using Padandas

Course Advertisement
Educational Resources Ad

Chapter 6 - Software Process Model : Computer Sci NEB Class 12


Subject

Chapter 6 - Software Process Model : Computer Sci NEB Class 12

Learn Software Process Model in Computer Science with comprehensive educational content from Padandas.

Mar 24, 2026
10,010

Chapter 6 - Software Process Model : Computer Sci NEB Class 12

Documents 1 document

Class 12 Computer Science Software Process Model Complete Exercise Solution PDF

Padandas EDU • Notes

1. Software Project Concept

Software

Software is the 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.

Project

A project is a well-defined task which is a collection of several operations done in order to achieve a goal. It 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 a planned effort to create a piece of software, like an app or a website. It involves a complete procedure of software development from requirement gathering to testing and maintenance, in a specific period of time to achieve the desired software product. The goal is to deliver a functional and high-quality software product within a specific timeframe and budget.

2. Concept of Software Development Process

Software development is a process programmers use to create computer programs. This process is also known as the Software Development Life Cycle (SDLC). Its aim is to create effective products within a defined budget and time. It is a systematic approach to creating software, typically consisting of phases like planning, designing, coding, testing, and deployment.

Purposes of Software Development

  1. To solve a real-world problem.
  2. For personal use.
  3. To meet the specific need of a client or business.

Interacting Components of a System

In a system, there are several basic interacting components that work together to achieve specific objectives:

  • Input: Represents data, information, or signals that enter the system from the external environment (e.g., user requests, sensor data).
  • Process: Encompasses the actions, operations, or transformations performed on input data (e.g., computation, analysis, decision-making).
  • Output: Refers to the results, outcomes, or responses generated by the system (e.g., reports, displays, notifications).
  • Feedback: Information about the system's output that is looped back into the system to modify or regulate its behavior and improve performance.
  • Environment: Everything outside the system that interacts with it, including stakeholders, other systems, and regulatory factors.

3. Concept of SDLC (Software Development Life Cycle)

Software is not a small program; they are the combination of several programs integrated together. These softwares can be developed by using a sequence of steps solved under the software development life cycle. SDLC is a step-by-step process where each stage is a building block of an effective and efficient program. It is a methodology used to develop, maintain, and replace information systems.

Importance of SDLC

  1. It is a base for project planning, scheduling, and estimating.
  2. It provides a framework for a standard set of activities.
  3. It increases and enhances the development process.
  4. It improves client relations.
  5. It helps to decrease project work.
  6. It identifies and manages risks early on.

Phases of SDLC

As computing power increases, it places a higher demand on software and developers. SDLC plays a vital role in achieving goals such as reducing cost and meeting customer needs. The core phases are:

1. System Study / Investigation

This is the first stage in the SDLC process in which needs or requirements are collected. It gives a clearer picture and scope of the entire project. It involves gathering information about an existing system to understand its strengths and weaknesses. It studies the following questions:

  • What is to be done in the future?
  • How to do it?
  • When to do it?
  • Who is to do it?

2. System Analysis

System analysis is the dissection of the system into its components to study how those components interact and work together. The most important activity is the Feasibility Study, which determines whether the system is feasible to design or not. It involves identifying user requirements and defining the scope of the proposed system.

Types of Feasibility Study:
  • Technical Feasibility: Analyzes whether the technical resources (hardware, software, expertise) are sufficient for the proposed system.
  • Economical Feasibility: Determines the financial aspects. It analyzes the cost for development against the expected benefits (Cost-Benefit Analysis).
  • Operational Feasibility: Determines whether the system will operate in the way that the user wants and how easily it can be integrated into existing workflows.
  • Time/Schedule Feasibility: Focuses on whether the project can be completed within the desired timeframe.
  • Legal Feasibility: Considers copyright law, labor law, foreign trade, and other legal procedures.
  • Social/Behavioral Feasibility: Determines whether the proposed system will be acceptable to the people and includes a study of organizational behavior.

3. System Design

The next step is to develop a logical design (framework) of the system. It involves creating detailed blueprints for the system's architecture, user interface, and internal components. Tools used include algorithms, flowcharts, pseudocode, ER design, DFD, etc.

4. System Development

In this phase, the logical structure is converted into a program with the help of programming languages like C, C++, Java, Python, etc. Tasks include converting logical structures into programs, creating databases, training users, and preparing documentation.

5. System Testing

An investigation done to check the quality of the product or services. It involves executing programs to find software bugs. Methods include:

  • White-box testing: Testing internal data structures including codes.
  • Black-box testing: Functional testing without looking at the internal code.

The phases of testing are: Unit testing (individual components), Integration testing (combined components), System testing (complete system), and User Acceptance Testing (UAT).

6. System Implementation

The system is installed in the client's computer to support the desired business function. Major categories include:

  • Direct implementation (conversion)
  • Parallel implementation
  • Phased implementation
  • Pilot implementation

7. Maintenance, Feedback, and Review

Involves making changes to hardware, software, and documentation to support performance and enhance security. It can be classified as:

  • Corrective maintenance: Repairing processing or performance failures.
  • Adaptive maintenance: Upgrading the system to new environments.
  • Perfective maintenance: Modifying the system to make it even more perfect.

The System Review is the last phase to see whether the new system has met the objectives or not.

 

4. System Analyst vs Software Engineer

System Analyst

A system analyst is a key person in the development process who analyzes the existing system and implements a new one. They are computer specialists involved in analyzing, designing, implementing, and evaluating computer-based information systems. They interact with top-level management, users, and competitors.

Software Engineer

A software engineer has extensive knowledge of programming languages, software development, and computer operating systems. They apply engineering principles to software creation and must have in-depth computer programming knowledge.

Characteristics Comparison

System Analyst Software Engineer
Knowledge of organization and management structure. In-depth knowledge of programming languages.
Good interpersonal and communication skills. Creative and logical mind.
Explores and documents requirements. Designs and develops software to meet requirements.
Responsible for overall progress and quality control. Responsibilities lie with developing and programming code.
Often more experienced and higher paid. Focuses on technical aspects of building the software.

5. Requirement Collection Methods

System analysts must collect information about the current system and how to improve its functionality. Data is collected from various sources:

  1. Interview: Direct discussions with stakeholders and professionals to gather insights.
  2. Survey / Questionnaire: Distributed forms to collect feedback from a large number of users.
  3. Observation: Directly observing users in their work environment to understand workflow and pain points.
  4. Focus Group: A gathering of representative users to get feedback on needs and problems.
  5. Prototyping: Developing a small model to show the client and get additional requirements.
  6. Document Analysis: Reviewing existing documentation, reports, and records of the old system.
  7. Workshops and Seminars: Interactive sessions for brainstorming and idea sharing.
  8. Brainstorming: Used to get as many ideas as possible from a group of people.

6. Concept of System Design Tools

  1. Algorithm: A finite sequence of stepwise logical instructions written in human-understandable language for solving a problem. It should be clear, accurate, and have a fixed number of steps.
  2. Flowchart: A diagrammatic or pictorial representation of an algorithm. It uses standard symbols:
    • Oval: Start/End
    • Parallelogram: Input/Output
    • Rectangle: Process
    • Diamond: Decision
    • Arrows: Line symbols
    • Circle: Connector
  3. DFD (Data Flow Diagram): A logical diagram that describes the flow of data inside the components of the system. Components include Process, Data store, Data flows, and External entities.
  4. ERD (Entity Relationship Diagram): A diagrammatic representation of real-world entities along with their attributes and relationships.
  5. Pseudocode: "Fake code" that looks like program code but is actually a kind of algorithm for solving a problem.
  6. Decision Table: Allows identifying the exact course of action according to given conditions. Consists of Action and Condition.
  7. Decision Tree: Similar to a decision table except it follows a tree-like structure.

7. Software and Quality

The quality of software can be defined as the ability of the software to function according to given specifications. Good software contains the following qualities:

  • Good design: Aesthetic and pleasing to users.
  • Good functionality: Smooth performance without issues.
  • Durable and Reliable: Ability to work without issues for a long period of time; it should be correct and error-free.
  • Portable: Can be used in different operating systems and computer systems.
  • Efficient: Accuracy of instructions and optimized memory/processing utilization.
  • Value for money: The benefit should justify the cost spent on the application.
  • Flexibility and Maintainability: Bugs should be captured and fixed quickly; new tasks and enhancements added without trouble.

8. Software Development Model

1. Waterfall Model

It is a systematic and sequential model that begins with system requirements and progresses through planning, modeling, and construction. Once a stage is completed, the turn goes to the next stage and there is no turning back. It works as a "downhill" structure.

  • Advantages: Simple and easy to use; stages do not overlap; suitable for static projects where requirements are well understood.
  • Disadvantages: Not suitable for dynamic projects; lacks a back-track mechanism; high risk of uncertainty; client involvement is late in the process.

2. Prototype Model

A prototype is an iterative process of system development. A simplified version (prototype) is built according to user requirements and then continuously modified until the user is satisfied. After acceptance, the actual product is developed.

  • Advantages: Suitable for dynamic systems; errors detected much earlier; improved user understanding; higher customer satisfaction.
  • Disadvantages: Can be time-consuming; cost increases with further updates; complexity in transitioning to the final functional system.

3. Spiral Model

A risk-driven process combining features of the waterfall and prototype models. It is used for large, expensive, and complicated projects. It consists of four quadrants: Planning, Risk Analysis, Engineering/Development, and Evaluation.

  • Advantages: Estimates budget and time realistically; includes risk management techniques; allows for flexibility.
  • Disadvantages: Highly complex; requires highly technical manpower/resources; can be more costly than other models.

4. Agile Model

Mainly intended for helping developers build a project that can be easily adapted to changing requests quickly. It focuses more on people and interactions than processes and tools. Software is delivered frequently.

  • Advantages: Quickly responds to changes; high customer collaboration; promotes teamwork and cross-training.
  • Disadvantages: Not suitable for handling complex dependencies; lack of emphasis on necessary design and documentation; risk of project going off track if the customer is not clear.

End of Unit 6 Content

About National Examinations Board

This content is part of Computer Science offered by National Examinations Board. This institution is committed to providing high-quality educational resources.

Frequently Asked Questions

This content is carefully structured to build understanding progressively, starting with fundamentals and advancing to more complex concepts.

Yes, once you have access, you can revisit this Software Process Model content as many times as you need.

Practice exercises and examples are integrated throughout the content to reinforce your understanding of Software Process Model.

Ready to Master Chapter 6 - Software Process Model : Computer Sci NEB Class 12?

Continue your learning journey in NEB Class 12 Computer Science : Complete Notes , Q&A Solutions and Videos and explore more comprehensive educational content.