1st Year Computer Chapter 1
Introduction to Software Development
1st Topic: Software Development and SDLC
Q1. What is Software Development?
Ans. Software development is the process of creating computer programs designed to
perform specific tasks. This involves writing code, testing it, and addressing any issues that
arise.
Q2. Why software development is important?
Ans. Software development is important because it helps solve problems and makes our lives
easier. For example, software allows us to communicate with friends through social media,
helps us manage our money with banking apps.
Q3. What is SDLC?
Ans. Software Development Life Cycle (SDLC) is a framework that defines the processes used
by organizations to build an application from its initial conception to its deployment and
maintenance.
Q4. What is a framework in Software Engineering?
Ans. In software engineering, a framework is a standardized and reusable set of concepts,
practices, and tools that provides a structured foundation for developing software
applications.
Q5. What are the benefits of using a framework?
Ans. Frameworks promote efficiency, consistency, and code reusability, thereby improving
the overall quality and maintainability of software systems.
Q6. Give the example of framework.
Ans. For example, Imagine you want to create a website. Instead of writing all the code from
scratch, you can use a framework like Django (for websites). Django comes with readymade
features like user login, database management, and page templates. This is similar to using a
pre-designed blueprint to build a house instead of designing everything yourself.
Q7. How many stages of SDLC? Write their names.
Ans. There are six stages in SDLC.
I. Requirements
II. Analysis
III. Design
IV. Coding
V. Testing
VI. Maintenance
Q8. Which one is the first step of SDLC?
Ans. The first step or stage of SDLC is Requirements Gathering. In this initial phase, the goal is
to understand and collect what the software needs to achieve. This involves talking to the
people who will use the software, as well as other stakeholders, to find out their needs and
expectations.
Q9. How we can gather data in requirement gathering phase?
Ans. Key activities in this phase are explained below;
Interviews and Surveys: Asking questions and collecting feedback from potential users.
Observations: Watching how users interact with current systems.
Document Review: Looking at existing documents, such as reports and user Manuals.
Q10. Differentiate between Functional and Non Requirements.
Ans. Functional Requirements outline what the system should do and include tasks, services,
and functionalities that the system must perform.
Example: Functional Requirements for a Library Management System.
User Registration, Book Borrowing, Book Return, Inventory Management.
Non-functional requirements define the quality attributes, performance criteria, and
constraints of the system. These requirements specify how the system performs a
function rather than what the system should do.
Example: They include aspects like usability, reliability, performance, and security.
Q11. What is reliability in Non functional requirement?
Ans. Reliability: The system should be available 99.9% of the time, ensuring high availability and
minimal downtime.
Q12. What is design phase?
Ans. In the design phase, we plan out how the software will look and work. This is like drawing
a blueprint before building a house. During this phase, we create diagrams, develop models,
plan the architecture, specify requirements.
Q13. Why we develop models in design phase?
Ans. To represent the software's structure. This could include creating mockups of the user
interface, showing what the program will look like and how users will interact with it.
Q14. What is development phase? / What we do in coding/implementation phase?
Ans. In the development/coding phase, the actual creation of the software begins. This is where
programmers write the code, which is a set of instructions that the computer follows to
perform specific tasks.
Q15. Give the real life Analogy of Development phase.
Ans. Think of it like following a recipe: the design specifications are the recipe, and coding is
the process of mixing and baking the ingredients to make a cake. Each line of code is like a step
in the recipe, ensuring the software works conectly and meets the requirements set out in the
design.
Q16. What is testing?
Ans. Once the software has been developed, it undergoes a crucial phase called testing.
Testing is the process of checking the software to identify any bugs, errors, or issues.
Q17. How many types of testing we have in testing phase?
Ans. There are three types of testing we have.
I. Functional testing
II. Performance testing
III. Compatibility testing
Q18. What is Functionality Testing?
Ans. Ensuring all features of the software work according to the specifications. This testing
include the testing of software’s purpose. Means software is achieving it purpose or not.
Q19. How testing helps us?
Ans. Testing helps in identifying any hidden issues that were not apparent during development.
By fixing these issues, developers ensure that the software runs smoothly and meets the user's
needs.
Q20. What is deployment of software?
Ans. Deployment is the process of making the software available for users to access and use.
This often involves several steps:
· Installation
· Configuration
· Testing in the Real World
Q21. Which one is the last stage of SDLC?
Ans. The final phase involves ongoing maintenance and updates. This ensures the software
continues to function correctly and adapts to any changes in user needs or technology.
Q22. What is the primary purpose of SDLC?
Ans. The primary purpose of SDLC is to deliver high-quality software that meets or exceeds
customer expectations, reaches completion within time and cost estimates, and works
efficiently.
Q23. What offers a Framework?
Ans. It offers predefined components and architectures that facilitate the implementation of
specific software functionalities, allowing developers to focus on writing code specific to their
application rather than reinventing common solutions.