0% found this document useful (0 votes)
38 views6 pages

Se Notes

The document provides an overview of software engineering, defining key concepts such as programs, software, and the software development life cycle (SDLC). It discusses various models like the Waterfall and Spiral models, as well as the importance of functional and non-functional requirements, testing, and the Capability Maturity Model Integration (CMMI). Additionally, it addresses common software myths and emphasizes the systematic approach to creating high-quality software.

Uploaded by

miworld2029
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views6 pages

Se Notes

The document provides an overview of software engineering, defining key concepts such as programs, software, and the software development life cycle (SDLC). It discusses various models like the Waterfall and Spiral models, as well as the importance of functional and non-functional requirements, testing, and the Capability Maturity Model Integration (CMMI). Additionally, it addresses common software myths and emphasizes the systematic approach to creating high-quality software.

Uploaded by

miworld2029
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Software Engineering

1.What is Program?

 A program is a set of instructions or code written in a programming language that tells a computer
how to perform specific tasks or solve problems.
 Programs can be as simple as a few lines of code or as complex as large systems managing
various functions.

There are many types of programs, such as:

 Software applications (like web browsers, games, or word processors)

 Operating systems (like Windows, macOS, or Linux)

 Scripts (smaller programs for automating tasks)

 System programs (for managing hardware and resources)

Programs can be written in many languages such as Python, Java, C++, or JavaScript, depending on the
task or platform.

2.What is Software?

 Software refers to the collection of programs, data, and instructions that tell a computer or device
how to perform specific tasks.
 It’s essentially the non-physical part of a computer system, as opposed to hardware, which is the
physical machinery.

Software can be broken down into two main categories:

1. System software: This includes the operating system (like Windows, macOS, or Linux), device
drivers, and utilities that help manage and support the hardware of a computer.

2. Application software: These are programs designed for end-users to perform specific tasks, such
as word processors (e.g., Microsoft Word), web browsers (e.g., Google Chrome), games, or
graphic design tools.

Software is what enables hardware to perform useful work, whether it's running a website, editing photos,
or managing finances. Without software, hardware would be essentially useless!

3.What is Software Engineering?

 Software Engineering is the process of designing, developing, testing, and maintaining software.
 It is a systematic and disciplined approach to software development that aims to create high-
quality, reliable, and maintainable software.
 Software engineers create software solutions for end users by utilizing engineering principles and
their understanding of programming languages.

4.What is Software Development Life Cycle (SDLC)?

 SDLC stands for Software Development Life Cycle.


 It is a structured approach used in software engineering to design, develop, test, and deploy
software applications.
 The goal of SDLC is to produce high-quality software that meets or exceeds customer
expectations, is delivered on time, and stays within budget.

The SDLC process typically involves several stages, which can vary slightly depending on the model
being used (e.g., Waterfall, Agile, Spiral, etc.).

Here's a common breakdown of the SDLC stages:

1. Planning: This is where the project’s scope, objectives, and requirements are defined. It involves
gathering the needs of the end-users and stakeholders.
2. Requirements Analysis: Analyzing the technical, operational, and financial feasibility of the
project. This helps determine if the project is worth pursuing.
3. Design: The architecture and design of the software are developed. This includes high-level
design (like system architecture) and detailed design (like database schema, UI/UX design).
4. Implementation (Coding): The actual coding or programming takes place in this stage.
Developers write the software based on the design documents.
5. Testing: After development, the software goes through various tests to ensure it works correctly.
This includes functional testing, performance testing, security testing, etc.
6. Deployment: Once the software passes testing, it’s released into a production environment for
end-users to use.
7. Maintenance: After deployment, the software needs ongoing updates and bug fixes based on
feedback and any issues that arise in real-world usage.

5.Explain about Waterfall Process Model?

 The Waterfall model is one of the earliest and most straightforward approaches to software
development in the SDLC.
 It's a linear and sequential model where each phase of development must be completed before
moving on to the next one.
 The process is often compared to a waterfall because it flows in one direction, like water falling
down, from one phase to the next.
Phases of Waterfall Model

The Waterfall Model has six phases which are:

1. Requirements: The first phase involves gathering requirements from stakeholders and analyzing
them to understand the scope and objectives of the project.

2. Design: Once the requirements are understood, the design phase begins. This involves creating a
detailed design document that outlines the software architecture, user interface, and system
components.

3. Development: The Development phase include implementation involves coding the software
based on the design specifications. This phase also includes unit testing to ensure that each
component of the software is working as expected.

4. Testing: In the testing phase, the software is tested as a whole to ensure that it meets the
requirements and is free from defects.

5. Deployment: Once the software has been tested and approved, it is deployed to the production
environment.

6. Maintenance: The final phase of the Waterfall Model is maintenance, which involves fixing any
issues that arise after the software has been deployed and ensuring that it continues to meet the
requirements over time.

6.What are the Functional Requirements?

 Functional requirements are the specific behaviors, functions, or features that a software system
must have in order to meet the needs of its users or stakeholders.
 They describe what the system should do, rather than how it should do it, and are focused on the
functionality of the system.
 These requirements define the expected behavior of the system in response to particular inputs,
conditions, or user actions.
7. What are the Non-Functional Requirements?

 Non-functional requirements (NFRs) describe the "how" a system should perform, rather than
what it should do.
 While functional requirements focus on specific features or behaviors of a system (e.g., login
functionality or payment processing), non-functional requirements define the system's quality
attributes, constraints, and overall performance criteria.

EX: Performance, Security, Scalability, Usability, Reliability, Portability

8.What is Testing?

 Testing in software development is the process of evaluating and verifying that a software
application or system functions as expected and meets the specified requirements.
 It involves identifying defects (bugs) and ensuring that the software works properly in all possible
scenarios, ensuring quality, security, and performance.
 The goal of testing is to find and fix any issues or bugs before the software is released to end
users.

9.What is Black-box and White-box testing?

 Black-box testing checks if the desired outputs are produced when valid input values are given. It
does not verify the actual implementation of the program.
 White-box testing not only checks for desired and valid output when valid input is provided but
also it checks if the code is implemented correctly.

10.What is CMMI?

 CMMI (Capability Maturity Model Integration) is a framework used to help organizations


improve their processes in areas like software development, systems engineering, and other
related disciplines.
 It's a set of best practices that provide organizations with guidelines for improving their processes
in a structured way to deliver better results, such as higher-quality products and services, faster
delivery times, and more efficient resource usage.

11.Explain Verification and Validation?


12.Explain Spiral model?

 The spiral model combines the idea of iterative development with the systematic, controlled
aspects of the waterfall model.
 This Spiral model is a combination of iterative development process model and sequential linear
development model i.e. the waterfall model with a very high emphasis on risk analysis.
 It allows incremental releases of the product or incremental refinement through each iteration
around the spiral.

13.What is Meant by Myth?

 A myth is a misbelieve or wrong assumption

Three Types of Software Myths

 a. Management Myths
 b. Customer Myths
 c. Practitioners Myth

Prepared By

Mr. Boda Mahesh


Asst Professor
BITS NARSAMPET

You might also like