Chapter - 2, System Development Life Cycle, Computer Science Key Point Notes, HSSC-II (12th Class)

Chapter - 2, System Development Life Cycle, Computer Science Key Point Notes, HSSC-II (12th Class)

12th Class (HSSC-II) Computer SLO Based Key Point Notes

(National Book Foundation - As Federal Textbook Board, Islamabad 
Based on National Curriculum Pakistan 2024-2025 and Onward prescribed by Federal Board of Intermediate and Secondary Education, Islamabad, and All Pakistan Boards) 

Unit 2: System Development Life Cycle

2.1.1 A System:

  • A system is a set of components (hardware/software) for collecting, creating, storing, processing, and distributing information.
  • The registration of students can be a procedure in an education system.
  • An Examination system determines the overall performance of each student as a final result.
  • A billing system can be used by an organization to send invoices and receive payments from customers.
  • A payroll system is used to manage employees' salaries.

2.1.2 System Development Life Cycle (SDLC):

It is a problem-solving process through which a series of steps or phases helps to produce a new computer system.

Importance of SDLC:

  • It delivers quality software that meets the system requirements.
  • It ensures that the requirements for the development of the software system are well-defined and subsequently satisfied.
  • It delivers a cost-effective system.
  • It maximizes the productivity.
  • Provides a framework for a standard set of activities and deliverables

2.1.3 Objectives of SDLC:

  • SDLC establishes an appropriate level of management authority to direct, coordinate, control, review, and approve the software development project.
  • SDLC identifies the potential project risks in advance so that proper planning should be done in early.
  • It ensures that high-quality systems are delivered.
  • It maximizes productivity.

2.1.4 Stakeholders of SDLC:

  • Stakeholders of SDLC are those entities or groups that are either within the organization or outside of the organization that sponsor, plan, develop, or use a project.
  • Stakeholders may be users, managers, and developers.
  • It is the duty of the project manager to identify the stakeholders, determine their requirements, and expectations to ensure a successful project.

2.1.5 SDLC Phases or Steps:


  1. Defining problem
  2. Planning
  3. Feasibility Study
  4. Analysis
  5. Requirement Engineering
  6. Design
  7. Coding
  8. Testing / Verification
  9. Deployment / Implementation
  10. Maintenance / support


1- Defining Phase:

  • In this phase, the problem to be solved or the system to be developed is clearly defined.
  • The requirements are documented and approved by the customer or company.
  • It is very important to identify all requirements in order to develop the project successfully.
  • Example: A student Examination System needs to be developed to cover all aspects from conducting the examination and generating results.

1- Planning Phase:

During the planning phase:
  • The objective of the project is determined
  • The requirements to produce the project are considered.
  • An estimate of resources, such as personnel and costs, is prepared.
  • All the information is analyzed to get alternative solutions, if any.
  • The information is assembled into a project plan and presented to management for approval.

3- Feasibility study:

  • It is the analysis and evaluation of a proposed project, to determine, whether it is technically, financially, legally, and operationally feasible within the estimated cost and time.
  • It is used to assess the strengths and weaknesses of the proposed project.
It is divided into the following types or forms:
  • Technical Feasibility: (Determines the level of and type of technology needed for the system)
  • Financial Feasibility: (Can we complete the project within the budget or not)
  • Operational Feasibility: (How well the proposed system will solve the problems?)
  • Legal Feasibility: (Can we handle this project as cyber law/Copyright and other regulatory framework/compliances)
  • Schedule Feasibility: (Decide whether the project can be completed within the given schedule or not)

4- Analysis Phase:

  • During this phase, the project team determines the end-user requirements and provide their expectation from the new system.
  • The In-charge of the project team must decide whether the project should go ahead with available resources or not.
  • It is also looking at the existing system to see what and how it is doing its job.
During this phase, the project team asks the following questions:
  • Can the proposed project be developed with the available resources and budget?
  • Will this system improve the performance of an organization?
  • Does the existing system need to be replaced?

Example: The Student Examination System is analyzed for development. The team may visit the educational institute to study the existing system to suggest improvements.

5- Requirement Engineering

  • It is the process of determining user expectations for a new or modified system/software.
  • It is a set of activities used to identify and communicate the purpose of a software/system.

It consists of the following steps:

1. Requirement gathering:

It is the first part of any system development process in which meetings with customers are arranged, and their requirements and demands are analyzed which are of two types:
  • Functional Requirements which specify the software functionality that the developer must build into the system to enable users to accomplish their tasks.
  • Non-Functional Requirements specify the criteria for the judgment of the operation of a system which describes how the system performs its duties.

2. Requirement Validation:

  • It is concerned with examining the gathered requirements to certify that they meet the intentions of the stakeholders.
  • It reviews the requirements and ensures that the requirements are complete and accurate.

3. Requirement Management:

  • It is performed to ensure that the software continues to meet the expectations of the users.
  • It needs to gather new requirements that arise from changing expectations, new regulations, or other sources of change.

Functional Requirements vs Non-Functional Requirements







6- Design Phase:

  • It is the architectural phase of system development in which the project team develops a logical design for data storage and processing.
  • The project team designs a mock-up or dummy user interface, for which the developers write the actual code to make it functional.
The design phase consists of two different structures:

1. Algorithm:

It is a step-by-step procedure which is used to solve a problem.

2. Flowchart:

The diagrammatic representation of an algorithm is called a flowchart.


Flow chart Symbols



Example:
The algorithm that inputs marks and prints the message “PASS” or “FAIL”. Passing marks are 33.

STEP 1: 
START
STEP 2: 
Input marks (M)
STEP 3: 
Comparing the marks (M) with 33 i.e.
            IF M >= 33 THEN PRINT “PASS” OTHERWISE PRINT “FAIL”
STEP 4: STOP.



Flow Chart



7- Coding / Construction:

  • During this phase, the developers/programmers create the database, write the code in a programming language for data processing, and design the actual user interface.
  • Test data is prepared and processed as many times as necessary to refine the code.
  • Coding is also called computer programming.

Example:

            #include <iostream.h>
            void main(void)
            {
                        int marks;
                        cout<<”Enter Marks;
                        cin<<marks;
                        if(marks >= 33)
                                    cout<<”PASS”;
                        else
                                    cout<<”FAIL”;
            }


8- Testing/Verification

  • The process of executing programming modules to find errors is called testing.
  • During this phase, the system is tested for functionality and performance.
  • The purpose of testing is to evaluate an attribute or capability of a program or system and determine whether it meets its required results.
  • Testing/verification the software is actually operating the software under controlled conditions and checking and evaluating the result against pre-specified requirements.


9- Deployment / Implementation

It is a set of activities that are used to make the software/system available for use.

Activities involved in this phase are:

i.     
Installation and activation of the hardware and software.
ii.    Train the users on the developed system.
iii.   Conversion from the old system to the new system.

Deployment Methods:

1. Direct Implementation / Deployment:

• It involves the old system being completely dropped and the new system being completely implemented at the
same time.

2. Parallel:

• This method involves operating both systems together for a period.
• This method allows any major problems with a new system to be encountered and corrected without loss of any information.

3. Phased:

• This method involves the new system being gradually introduced and the old system being progressively discarded.

4. Pilot:

• In this method, the new system is installed for a small number of users to learn, use, and evaluate.
• Once the system is performed satisfactorily, the new system is installed and used by all.

10- Maintenance / Support

  • Maintenance can be either repairing or modification or some enhancement in the existing system.
  • The performance of a system is monitored continuously and when problems or modifications are identified, the system may reenter the planning phase which will continue until a complete solution is provided to the customer.


2.1.6 Personnel Involved in SDLC and their Role

Management Personnel or Team:

The roles of a good management team are to:
  • Provide consistency of success of the software with regard to time, cost, and quality.
  • Ensure that customer expectations are met.
  • Collect information for future use.
  • Provide a method of thought for ensuring all requirements are addressed through a comprehensive work definition process.
  • Reduce risks associated with the project.

Project Manager:

  • Project manager responsible for planning, execution, and closing of any project.
  • He/she should be familiar with the whole software development life cycle process.
The key roles of a project manager are:
  • Developing the project plan.
  • Managing the project budget.
  • Managing the project stakeholders.
  • Managing the project team.
  • Managing the project schedule.
  • Managing the project conflicts.

System Analyst

  • A system analyst studies the problem, plans the solutions, and coordinates the development process to meet all the requirements of customers.
  • System analyst has expertise in a variety of programming languages, operating systems, and computer hardware platforms
Key roles of system analyst are:
  • Plan a system flow
  • Interact with customers to learn and document requirements.
  • Define technical requirements
  • Interact with designers to understand software limitations.
  • Help programmer.
  • Manage system testing
  • Documented requirements and contributed to user manuals.

Programmer

A programmer is a technical person who writes computer programs in a computer programming language to develop software.

The key roles of programmers are:
  • Writing, testing, and maintaining the instructions of computer programs.
  • Updating, modifying, and expanding existing programs.
  • Testing the code by running to ensure its correctness.
  • Preparing graphs, tables, and analytical data displays which show the progress of a computer program.

Software Tester:

  • A software tester is a computer programmer with having specialty in testing computer programs using different testing techniques.
  • Tester is responsible for understanding, and creating test scenarios, and test scripts, preparing test data, executing test scripts, and reporting defects and results.
  • Meeting with development managers to discuss software specifications and controls.
  • Using the software as intended to analyze its functional properties.
  • Designing manual and automated test procedures to evaluate each software product.
  • Building, coding, and implementing software evaluation test programs.
  • Running test programs to ensure that testing protocols evaluate the software correctly.
  • Tweaking the software testing systems for maximum performance.
  • Finalizing and documenting testing procedures.
  • Completing final tests and creating test reports.
  • Presenting test reports to management and suggesting software fixes.

The responsibilities of the software tester include:

  • Creation of test designs, test processes, test cases, and test data.
  • Carry out testing as per the defined procedures.
  • Participate in walkthroughs of testing procedures.
  • Prepare all reports related to software testing carried out.
  • Ensure that all tested-related work is carried out as per the defined standards and procedures.

Customers

• A customer is an individual or an organization that is the buyer or user of the software product.
• Customers are also called clients.
• The difference between customer and client is that the customers purchase the software products and the clients purchase services.



************************************
👉👉👉Computer Science 12th Class Notes (Main Page)

************************************

{Contact WhatsApp 03339719149 for Class-XII Computer Science Complete SLO-Based Key Points notes in pdf format as well as in PowerPoint Presentation for preparing/delivering the Lectures}

************************************


Post a Comment

0 Comments

cwebp -q 80 image.png -o image.webp