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

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

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

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

{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}

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

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

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

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)

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


************************************
Shortcut Links For:

1.  5th Class All Subjects Notes

2.  8th Class All Subjects Notes

3.  Easy English Grammar Notes





1. Website for School and College Level Physics   
2. Website for School and College Level Mathematics  
3. Website for Single National Curriculum Pakistan - All Subjects Notes 

© 2023 & onwards Academic Skills and Knowledge (ASK  

Note:  Write me in the comments box below for any query and also Share this information with your class-fellows and friends.

Post a Comment

0 Comments

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