Class 12 Computer Science Software Process Model Notes and Important Questions
Learn
Loading notes…
Notes for Class 12 Software Process Model (Computer Science) are shown above.
Class 12 Software Process Model Notes (Computer Science)
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.1 Software Project Concept A software project is a temporary, planned endeavour undertaken to create a unique software product, service or result within defined constraints of time, cost, scope and quality.
Key points
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept Unit 6 Software Project Concept SDLC
- System Design
- Quality
- Development Models NEB Grade XII
- Computer Science Syllabus Topics Covered 6.1 Software Project Concept 6.2 Concept of Software Development Process 6.3 Concept of SDLC (Software Development Life Cycle) 6.4 System Analyst vs Software Engineer 6.5 Requirement Collection Methods 6.6 Concept of System Design 6.7 Software and Quality 6.8 Software Development Models
- Waterfall Model
- Prototype Model
- Agile Model These notes follow the official NEB Class 12 Computer Science syllabus. Learn definitions, differences between roles/models, and the stages of SDLC thoroughly for exams. — 1 — Study Notes
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept Unit 6 Software Project Concept SDLC
- System Design
- Quality
- Development Models NEB Grade XII
- Computer Science Syllabus Topics Covered 6.1 Software Project Concept 6.2 Concept of Software Development Process 6.3 Concept of SDLC (Software Development Life Cycle) 6.4 System Analyst vs Software Engineer 6.5 Requirement Collection Methods 6.6 Concept of System Design 6.7 Software and Quality 6.8 Software Development Models
- Waterfall Model
- Prototype Model
- Agile Model These notes follow the official NEB Class 12 Computer Science syllabus. Learn definitions, differences between roles/models, and the stages of SDLC thoroughly for exams. — 1 — Study Notes
- Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.1 Software Project Concept A software project is a temporary, planned endeavour undertaken to create a unique software product, service or result within defined constraints of time, cost, scope and quality. Key Characteristics Clear objective – what the software must achieve Defined start and end dates (temporary nature) Requires resources: people, tools, hardware, budget Involves uncertainty and risk Produces a unique deliverable (not repetitive production) Needs planning, execution, monitoring and control Progressively elaborated – details become clearer over time Why Software Projects are Different Software is intangible – you cannot see physical progress easily Requirements frequently change during development Complexity increases rapidly as the system grows Quality is multi-dimensional and hard to measure fully Maintenance and support continue long after delivery Human factors (communication, skills) heavily influence success Triple Constraint (Iron Triangle) Every software project is constrained by three interdependent factors: Scope – the features and functions to be delivered Time – the schedule and deadlines Cost – the budget allocated for the project Changing one factor usually affects the other two. Quality is often considered the fourth dimension that sits in the middle of the triangle. Main Elements of a Software Project Element Description Scope Features, functions and boundaries of the product Time / Schedule Start date, milestones, end date Cost / Budget Money for salaries, tools, infrastructure Quality Degree to which requirements are satisfied Resources People, hardware, software, facilities Risk Uncertain events that may affect the project Stakeholders Anyone affected by or interested in the project — 2 — Study Notes • Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.2 Concept of Software Development Process A software development process is a structured set of interrelated activities that transforms user needs and requirements into a working software product. It provides a disciplined and repeatable way to build software. Why Do We Need a Process? Improves product quality and reduces defects Helps estimate and control time and cost Makes progress visible and measurable Supports effective teamwork and communication Creates useful documentation for maintenance Reduces overall project risk Enables continuous improvement of the way of working Core Activities of the Development Process Requirement Analysis – understand and document what is needed Design – decide how the system will be structured and work Implementation (Coding) – write the actual source code Testing – verify that the software behaves correctly Deployment – install and make the system available to users Maintenance – correct faults and enhance the system after release Process vs Project – Clear Difference Aspect Process Project Nature Repeatable method / way of working One-time unique effort Focus How the work is performed What product is delivered Duration Ongoing and continuous Has definite start and end Output Improved capability & consistency A software product or system Example Code review process, testing process Building a school management system A good process increases the chance that projects will succeed. Process improvement (e.g. CMMI, ISO) is a long-term organisational goal. — 3 — Study Notes • Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.3 Concept of SDLC SDLC (Software Development Life Cycle) is a framework that describes the stages a software product goes through from its initial concept until it is retired. It provides a systematic approach to building high-quality software. Classic Phases of SDLC
- 1. Requirement Gathering and Analysis Identify stakeholders and collect their needs Distinguish functional vs non-functional requirements Analyse feasibility (technical, economic, operational) Resolve ambiguities and conflicts Produce Software Requirement Specification (SRS) document
- 2. System Design Translate requirements into a technical solution Define overall architecture and major components Design database, user interfaces and interfaces between modules Produce High-Level Design (HLD) and Low-Level Design (LLD)
- 3. Implementation / Coding Write source code according to the design documents Follow coding standards and naming conventions Use version control systems (Git, etc.) Perform code reviews
- 4. Testing Unit Testing – test individual modules Integration Testing – test combined modules System Testing – test the complete system Acceptance Testing – validate with end users Find defects and verify fixes — 4 — Study Notes
- Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept
- 5. Deployment Install the software in the live / production environment Migrate existing data if necessary Provide user training and documentation Go-live and initial support
- 6. Maintenance Corrective – fix bugs discovered after release Adaptive – modify for new environment or platform Perfective – improve performance or add enhancements Preventive – make changes to prevent future problems SDLC Flow (Simplified) Requirements ──► Design ──► Coding ──► Testing ▲ │ │ ▼ Maintenance ◄── Deployment ◄── Acceptance Benefits of Following SDLC Provides clear milestones and deliverables Improves project visibility and control Raises overall software quality Facilitates communication among all stakeholders Reduces the risk of project failure Makes maintenance easier through good documentation — 5 — Study Notes
- Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.4 System Analyst vs Software Engineer Both roles are essential in software projects, yet they have different primary focuses and skill sets. Aspect System Analyst Software Engineer Primary Focus What the system should do How to build the system Orientation Business / user oriented Technical / solution oriented Main Skills Analysis, communication, domain knowledge Programming, algorithms, tools Key Activities Requirement gathering, feasibility study Design, coding, testing, debugging Typical Output SRS, process models, use cases Source code, technical design, tests Viewpoint Problem definition Problem solution Interaction Heavy with end users & managers Heavy with developers & tech leads Responsibilities of a System Analyst Study the existing system and identify problems/opportunities Gather, analyse and prioritise requirements from stakeholders Conduct feasibility studies (technical, economic, operational, schedule) Prepare clear and complete system specifications Act as the communication bridge between users and technical team Help evaluate design alternatives and recommend solutions Support testing and user acceptance activities Responsibilities of a Software Engineer Create software architecture and detailed module designs Write clean, efficient, readable and maintainable code Perform unit testing and participate in integration testing Follow organisational coding standards and best practices Use development tools, frameworks and version control effectively Participate in code reviews and continuous improvement Document technical decisions and APIs In small teams one person may play both roles. In larger organisations the roles are usually separated for better specialisation. — 6 — Study Notes • Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.5 Requirement Collection Methods Requirement collection (also called requirement elicitation) is the process of discovering, understanding, negotiating and documenting the needs of users and other stakeholders. 1. Interviews Face-to-face or online discussion with stakeholders Can be structured (prepared questions) or unstructured (open discussion) Advantage: rich information, immediate clarification possible Disadvantage: time-consuming, success depends on interviewer skill 2. Questionnaires / Surveys Written or online set of questions sent to many people Useful when stakeholders are geographically distributed Advantage: reaches large audience at low cost Disadvantage: low response rate, limited depth, no immediate clarification 3. Observation (Job Shadowing) Analyst watches users performing their real daily tasks Reveals actual practices that users may forget to mention Advantage: real behaviour is captured Disadvantage: people may act differently when observed (Hawthorne effect) 4. Document Analysis / Study of Existing System Examine forms, reports, manuals, policy documents, existing software Helps understand current processes and data Advantage: objective historical information Disadvantage: documents may be incomplete or outdated 5. Brainstorming and Workshops Facilitated group sessions to generate and prioritise ideas Encourages creativity and builds consensus among stakeholders Useful in early stages when many possibilities exist 6. Prototyping Build a quick working model and let users interact with it Feedback from the prototype clarifies and validates requirements Especially powerful when users find it hard to express needs in words Characteristics of Good Requirements Correct – accurately reflect real needs Complete – cover all necessary aspects Consistent – no contradictions Clear / Unambiguous – only one interpretation Verifiable / Testable – can be checked later Feasible – can be implemented with available resources Traceable – linked to business goals and design elements — 7 — Study Notes • Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.6 Concept of System Design System design is the process of defining the architecture, components, modules, interfaces and data of a system so that it satisfies the specified requirements. It transforms the “what” (requirements) into the “how” (concrete solution). Two Main Levels of Design
- High-Level Design (HLD) / Architectural Design Overall system structure and major modules/components Choice of technology stack (language, framework, database, OS) Data flow between modules and external systems High-level user interface design and navigation Security and performance considerations at architecture level Deliverables: architecture diagram, module diagram, database schema outline
- Low-Level Design (LLD) / Detailed Design Internal logic of each module or class Algorithms, data structures and detailed class diagrams Exact database tables, fields, keys and relationships Error handling, validation rules and edge cases Interface details (function signatures, message formats) Deliverables: pseudo-code, detailed flowcharts, ER diagrams, API specs Fundamental Design Principles Modularity – divide the system into well-defined, manageable modules Abstraction – hide unnecessary complexity from other parts Encapsulation – keep data and the operations on that data together Low Coupling – modules should depend on each other as little as possible High Cohesion – elements inside a module should be closely related Separation of Concerns – different aspects handled by different modules Common Design Tools & Notations Data Flow Diagrams (DFD) – show how data moves through the system Entity-Relationship (ER) Diagrams – model data and relationships UML diagrams – Use Case, Class, Sequence, Activity, Component Structure Charts and Flowcharts Pseudo-code and decision tables — 8 — Study Notes
- Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.7 Software and Quality Software quality is the degree to which a software product meets its specified requirements and satisfies the expectations of users and stakeholders. High-quality software is reliable, usable, efficient and easy to maintain. Important Software Quality Attributes Attribute Meaning Correctness The software does what it is supposed to do Reliability Performs consistently without unexpected failures Efficiency Uses processor, memory and network optimally Usability Easy to learn, operate and understand Maintainability Easy to correct defects and add enhancements Portability Can be moved to different hardware/OS with little Security Protects data and resists unauthorised access Testability Easy to design tests and detect defects Reusability Components can be reused in other systems Flexibility / Scalability Easy to adapt or grow with increasing load Software Quality Assurance (SQA) SQA is a planned, systematic set of activities whose purpose is to ensure that quality is built into the software throughout the entire SDLC, rather than being inspected only at the end. Reviews and inspections of requirements, design and code Testing at unit, integration, system and acceptance levels Adherence to coding standards and process guidelines Process measurement and continuous improvement Training and mentoring of the development team Quality Assurance vs Quality Control Aspect Quality Assurance (QA) Quality Control (QC) Focus Process Product / Output Nature Preventive Detective / Corrective Timing Throughout the life cycle After a product or part is built Example Activities Standards, reviews, process audits Testing, inspection, bug tracking Goal Improve process so defects are fewer Find and fix defects in the product ! Quality cannot be tested into a product at the last moment. It must be designed and constructed into every phase of the project. — 9 — Study Notes • Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept 6.8 Software Development Models A software development model is a specific strategy or methodology that organises the phases of the SDLC. Different models are suitable for different project situations. 1. Waterfall Model The traditional linear sequential model. Each phase is completed and signed off before the next phase begins. Progress is seen as flowing steadily downwards (like a waterfall) through the phases.
- Phases in Order Requirement Analysis & Specification System and Software Design Implementation (Coding) Integration and Testing Deployment / Installation Operation and Maintenance
- Advantages Simple, easy to understand and manage Clear milestones, deliverables and documentation Works well for small projects with stable, well-known requirements Easy to schedule and track progress
- Disadvantages Very difficult to go back to a previous phase Requirements must be frozen early – late changes are costly Working software appears only late in the project Not suitable when requirements are unclear or likely to change High risk if major problems are discovered during testing Waterfall is still useful for projects with fixed, clear requirements and little expected change (e.g. simple embedded systems or regulatory systems). — 10 — Study Notes
- Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept 2. Prototype Model A prototype is a working model of the system built quickly with limited functionality. Users evaluate the prototype and give feedback. The prototype is refined repeatedly until the requirements are clear and the final system can be developed with confidence.
- Typical Steps 1. Gather basic / known requirements 2. Develop a quick prototype (focus on user interface and main flows) 3. Users review and evaluate the prototype 4. Refine the prototype according to feedback 5. Repeat steps 3 and 4 until users are satisfied 6. Use the finalised requirements to build the actual product
- Types of Prototypes Throwaway (Rapid) Prototype – discarded after requirements are understood Evolutionary Prototype – continuously improved until it becomes the final system Incremental Prototype – system is built and delivered piece by piece
- Advantages Users see a concrete system early and can give meaningful feedback Requirements become much clearer through interaction Reduces the risk of developing the wrong product Increases user involvement and final satisfaction Misunderstandings are discovered early
- Disadvantages May encourage insufficient up-front analysis Users may think the prototype is the final system and resist further work Can increase cost and schedule if iteration is not controlled Documentation is sometimes neglected Developers may use sub-optimal solutions just to make the prototype work quickly — 11 — Study Notes
- Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept 3. Agile Model Agile is an iterative and incremental approach to software development that emphasises delivering working software frequently, welcoming changing requirements, and close collaboration between the development team and the customer.
- Four Core Values (Agile Manifesto) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a fixed plan
- Key Characteristics of Agile Work is organised into short time-boxed iterations called Sprints (usually 1–4 weeks) At the end of every sprint a potentially shippable product increment is demonstrated Daily stand-up meetings keep the team synchronised Product Owner prioritises the backlog of features Continuous feedback from stakeholders is welcomed Emphasis on working software, simplicity and technical excellence
- Popular Agile Frameworks Scrum – roles (Product Owner, Scrum Master, Development Team), events (Sprint, Daily Scrum, Review, Retrospective) Kanban – visual board, limit work-in-progress, continuous flow Extreme Programming (XP) – pair programming, test-driven development, continuous integration, simple design
- Advantages of Agile Highly adaptive to changing requirements Frequent delivery of valuable working software Strong customer involvement and higher satisfaction Problems are discovered and corrected early Improved team communication and morale Better visibility of real progress
- Disadvantages / Challenges Final cost and timeline are less predictable Requires experienced, self-organising and disciplined team members Documentation may be lighter than in traditional approaches Not always suitable for fixed-price contracts or heavy regulatory environments Customer must be available and willing to participate regularly — 12 — Study Notes
- Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept Important Exam-Oriented Points Feasibility Study (often asked) Technical Feasibility – Can we build it with available technology and skills? Economic Feasibility – Is the project cost-effective? (Cost-Benefit Analysis) Operational Feasibility – Will the organisation be able to use and support it? Schedule Feasibility – Can it be completed in the required time? Legal / Ethical Feasibility – Does it comply with laws and ethical standards? SRS Document – Key Contents Introduction and purpose of the system Overall description and scope Functional requirements (what the system must do) Non-functional requirements (performance, security, usability…) System interfaces and constraints Appendices and glossary Types of Maintenance (Revision) Type Purpose Corrective Fix defects found after delivery Adaptive Adapt to new environment or platform Perfective Improve performance or add features Preventive Make changes to prevent future problems When to Choose Which Model? Waterfall Requirements are clear, stable and unlikely to change Prototype Requirements are unclear, especially user interface Agile Requirements evolve, frequent delivery is valued, team is experienced Remember: There is no single best model. The choice depends on project size, clarity of requirements, customer involvement, risk and team experience. — 13 — Study Notes • Handwritten Style NEB Grade XII
NEB Class 12 | Computer Science | Unit 6 Software Project Concept Comparison of the Three Models Feature Waterfall Prototype Agile Approach Linear sequential Iterative with model Iterative & incremental Requirements Must be clear early Clarified by feedback Can change any time Customer Role Mainly start & end Throughout evaluation Continuous collaboration Working Software Available late Early prototype Every few weeks Flexibility Low Medium Very high Risk Discovery Often late Reduced by feedback Continuous Documentation Heavy Medium Just enough Best Suited For Stable, clear needs Unclear UI / needs Dynamic, evolving needs Quick Revision Checklist Software project = temporary effort with scope, time, cost, quality constraints SDLC phases: Requirements Design Coding Testing Deployment Maintenance System Analyst = WHAT the system should do; Software Engineer = HOW to build it Requirement methods: Interview, Questionnaire, Observation, Documents, Brainstorming, Prototype Design levels: HLD (architecture) and LLD (detailed logic) Quality attributes: Correctness, Reliability, Usability, Maintainability, Portability, Security… QA is process-focused & preventive; QC is product-focused & detective Waterfall = rigid linear; Prototype = feedback-driven; Agile = flexible iterative Exam Tip: Practise drawing the Waterfall phases and listing 3–4 advantages and disadvantages of each model. Also prepare short comparison points between System Analyst and Software Engineer. — 14 — Study Notes • Handwritten Style NEB Grade XII
- NEB Class 12 | Computer Science | Unit 6 Software Project Concept Sample Short Questions & Answers Q1. What is a software project? A software project is a temporary planned effort to create a unique software product within constraints of time, cost, scope and quality. Q2. List the main phases of SDLC. Requirement Analysis, System Design, Implementation (Coding), Testing, Deployment and Maintenance. Q3. Differentiate System Analyst and Software Engineer. System Analyst focuses on understanding and specifying WHAT the system should do (business side). Software Engineer focuses on HOW to design and implement the system (technical side). Q4. Write any four requirement collection methods. Interview, Questionnaire/Survey, Observation, Document Analysis, Brainstorming, Prototyping. Q5. What is the main difference between Waterfall and Agile? Waterfall is a linear sequential model that requires clear requirements early and delivers working software late. Agile is iterative and incremental, welcomes changing requirements and delivers working software frequently. Q6. Define software quality. Software quality is the degree to which a software product meets specified requirements and user expectations. It includes attributes such as correctness, reliability, usability, efficiency and maintainability. Practise writing short answers in your own words. Examiners look for clear definitions and key points rather than long essays. End of Unit 6 Notes – Keep Practising! NEB Class 12
- Computer Science
- Unit 6 — 15 — Study Notes
- Handwritten Style NEB Grade XII
Related chapters in Computer Science: Class 12 OOP Concept notes, Class 12 Recent Trends in ICT notes, Class 12 DBMS Concept notes.
Practice
Important Questions
Conducting feasibility analysis is done in which phase of SDLC?
Planning
Analysis
Design
Implementation
Which type of feasibility study evaluates whether a system can be developed with the available technology?
Operational feasibility
Social feasibility
Technical feasibility
Economical feasibility
Which model of SDLC is characterized by a linear progression of phases from requirements gathering to maintenance?
Waterfall model
Agile model
Spiral model
RAD model
What are the major activities performed to design the software? Describe.
Write down any five qualities of good software.
Explain about technical and economic feasibility.
7 more questions locked
Upgrade to a paid plan to view all important questions
Exam
Past Question Analysis
Historical exam-pattern data from past NEB question papers — not a prediction of future questions.
9
Question Items
11
Total Marks
5
Papers Appeared In
| Year | Question Items | Marks |
|---|---|---|
| 2083 | 2 | 6 |
| 2082 | 2 | — |
| 2081 | 2 | — |
| 2080-supp | 2 | — |
| 2079 | 1 | 5 |
Also appears in 2 model questions (not counted above — model sets aren't actual NEB exam history).
Software Process Model explains how software systems are planned, developed, tested and maintained. Students study the Software Development Life Cycle (SDLC), requirement gathering, feasibility study, system design and different software process models. Waterfall, Prototype, Spiral, Agile and other development approaches are introduced along with their characteristics.
This page covers Software Process Model, chapter 6 of 7 in the Class 12 Computer Science syllabus set by the National Examination Board (NEB). 11 important questions for this chapter are available, each with a full solution.
For numerical and derivation-based chapters like this one, working through past NEB questions is usually more useful than re-reading notes alone — try solving each important question above before checking the solution, then compare your working step by step.