Learn/ 11th Computer Science/ Unit 1 /Short Questions

Unit 1: Introduction to Software Development — Short Questions

11th Class Computer Science · Unit 1: Unit 1: Introduction to Software Development

Software Development

1.What is software development??

Software development is the process of creating computer programs that perform specific tasks. It includes writing code, testing it, and fixing any problems that come up. This process helps solve real-world problems and makes life easier through technology.

Introduction to SDLC

2.Why is the Software Development Life Cycle (SDLC) important?

The SDLC provides a structured and systematic approach to software development. It helps ensure that software meets user requirements, stays within budget, and is delivered on time and with high quality. By following the SDLC, teams can reduce risks, improve planning, and manage resources more efficiently.

3.What is a framework in software development?

A framework provides ready-to-use tools and structures to help developers build software faster and more efficiently. It includes pre-made components so developers don't have to start from scratch. This saves time, improves consistency, and makes maintenance easier.

4.Give an example of a web development framework.

Django is a popular framework used for building websites quickly. It comes with built-in features like login systems, database management, and page templates. Using Django helps developers avoid writing code from scratch and speeds up the development process.

5.What is the purpose of Requirement Gathering in SDLC?

Requirement gathering is the first phase of SDLC where developers understand what users need from the software. It involves interviews, surveys, and observations to collect detailed information. Accurate requirements ensure the final product meets user expectations and avoids costly rework.

6.How many phases are SDLC?

The Software Development Life Cycle (SDLC) consists of six phases:
1) Requirement Gathering
2) Design
3) Coding (or Implementation)
4) Testing
5) Deployment
6) Maintenance

7.What are functional requirements?

Functional requirements describe what the system should do, such as user registration or order processing. They define specific behaviors and interactions between the system and users. These requirements are essential for outlining core functionalities during development.

8.What are non-functional requirements?

Non-functional requirements define how the system performs, including speed, reliability, and security. They include constraints like response time, availability, and data protection. These requirements ensure the system works well under real-world conditions.

9.How do functional and non-functional requirements differ?

Functional requirements focus on what the system does, while non-functional requirements focus on how well it does it. Functional ones relate to user actions and system tasks, whereas non-functional ones deal with performance, usability, and reliability.

10.What happens during the Design phase of SDLC?

In the design phase, developers create blueprints for the software using diagrams and models. They plan the architecture, layout, and interaction between system components. This phase ensures clarity before actual coding begins.

11.Why is the design phase compared to creating house blueprints?

Like blueprints guide the construction of a house, the design phase guides software development by visualizing the structure and layout. It ensures all team members understand the system's flow and functionality. This reduces confusion and errors during coding.

12.What occurs during the Coding phase?

During the coding phase, programmers write the actual code based on design specifications. They use programming languages like Python, Java, or C# to implement features. This phase turns design into a working software solution.

13.What is the Testing phase in SDLC?

The Testing phase checks the software for bugs, errors, and issues to ensure it works correctly. It includes functionality, performance, and compatibility tests. Testing confirms that the software meets all user requirements and works smoothly.

14.Why is testing important in software development?

Testing helps detect bugs early, making them cheaper and easier to fix. It also ensures the software behaves as expected and satisfies user needs. Without proper testing, software may fail after release, leading to poor user experience and reputational damage.

15.What is the Deployment phase?

Deployment is when the software is installed and made available for users to access and use. It includes configuration, installation, and testing in the real environment. The goal is to ensure the software works as intended in live conditions.

16.What is the Maintenance phase of SDLC?

Maintenance involves updating, improving, and fixing issues in the software after deployment. It includes adding new features, patching security flaws, and enhancing performance. This phase ensures the software remains useful over time.

Software Development Methodologies

17.What are software development methodologies?

Methodologies are structured approaches that guide how software is developed. Examples include Waterfall, Agile, and DevOps. They provide frameworks for managing tasks, timelines, and team collaboration.

18.What role do software process models play in development?

Process models bring predictability, efficiency, and quality to software projects. They help teams follow a clear path, manage risks, and maintain standards throughout development. Models like SDLC ensure consistent results across different projects.

19.What is the Waterfall model?

The Waterfall model is a linear and sequential approach to software development. Each phase must be completed before moving to the next. It works best for small projects with fixed requirements.

20.What are the benefits of the Waterfall model?

It is simple to understand and easy to manage due to its linear structure. Progress tracking is straightforward, and documentation is thorough. It suits projects with clearly defined goals and minimal changes expected.

21.What are the limitations of the Waterfall model?

Once a phase is complete, going back to make changes is difficult and costly. It is not suitable for large or complex projects with evolving requirements. It assumes all requirements are known upfront, which is rarely the case in real-world scenarios.

22.What is Agile Methodology?

Agile is a flexible and iterative approach to software development. It focuses on delivering small parts of the software quickly and adapting to changes along the way. Teams work in sprints and involve users regularly for feedback.

23.What are key practices in Agile methodology?

Agile uses continuous integration, test-driven development, and pair programming. These practices improve code quality, encourage teamwork, and allow for frequent updates based on user input.

24.What are the benefits of Agile?

Agile allows for flexibility and quick adaptation to changing requirements. It boosts customer satisfaction by involving them throughout the process. Delivering working software in short cycles ensures continuous improvement.

25.What are the limitations of Agile?

Managing large-scale projects with multiple teams can be challenging. It requires active involvement from stakeholders, which may not always be possible. Predicting timelines and budgets can be harder due to evolving scope.

Project Planning and Management

26.What is comprehensive project planning?

Project planning involves defining goals, setting timelines, assigning roles, and estimating costs. It ensures that all aspects of the project are considered before starting. Good planning reduces risks and increases chances of success.

27.How do timelines contribute to successful project execution?

Timelines provide structure and help track progress during development. They set expectations for when each task should be completed. Timely delivery becomes easier when milestones are clearly defined.

28.Why is cost estimation important in project planning?

Cost estimation helps determine the budget required for the project. It considers factors like team size, technology, and risk management. Accurate estimates prevent financial surprises and help secure stakeholder approval.

29.What is risk assessment in software projects?

Risk assessment involves identifying potential threats to a project's success. It evaluates the likelihood and impact of these risks. Proactive identification helps teams prepare mitigation strategies.

30.How does risk management contribute to project success?

By continuously monitoring and addressing risks, teams can avoid major setbacks. Risk management ensures smoother execution, better resource allocation, and timely delivery. It builds confidence among stakeholders.

31.What happens during the Execution phase?

During execution, the team writes code, designs interfaces, and builds the software. It requires coordination, communication, and regular updates to ensure everything stays on schedule. This is where the software starts taking shape.

Quality Assurance

32.What is Quality Assurance (QA)?

QA ensures that the software meets required standards and functions properly. It involves testing, code reviews, and feedback collection. QA helps identify and fix issues before the software reaches users.

33.How does QA help ensure software works properly?

QA catches bugs early, improves code quality, and validates user experience. It ensures the software performs reliably under various conditions. Without QA, defects may go unnoticed until after release.

Graphical Representation of Software Systems

34.What is graphical representation of software systems?

Graphical representation uses diagrams to show how a system is structured and how its parts interact. It simplifies complex ideas and improves communication between developers and stakeholders. Tools like UML are commonly used for this.

35.What is UML and why is it important?

UML (Unified Modeling Language) is a standardized way to visually represent software design. It helps developers understand system behavior and structure. UML improves clarity, especially when working in teams.

36.How many types of UML diagrams?

There are four main types: Use Case, Class, Sequence, and Activity diagrams. Each type serves a different purpose in modeling different aspects of a system. These diagrams support both planning and documentation.

37.What is a Use Case Diagrams?

A Use Case Diagram shows how users interact with a system to achieve goals. It identifies actors and their interactions with the system. This diagram helps clarify functional requirements and system boundaries.

38.What is a Class Diagrams?

A Class Diagram represents the structure of a system by showing classes, their attributes, and methods. It acts as a blueprint for object-oriented design. It helps organize code and understand relationships between objects.

39.What are Sequence Diagrams?

Sequence Diagrams show the sequence of interactions between objects over time. They help visualize how messages flow between components. These diagrams are useful for understanding system behavior step-by-step.

40.What are Activity Diagrams?

Activity Diagrams model the flow of activities or steps in a process. They are useful for visualizing business workflows or system logic. They show decision points, parallel processes, and overall control flow.

41.How is UML used in different stages of software development?

UML supports planning by modeling requirements, designing system structure, and documenting code. During development, it helps developers understand system components. It also aids communication between technical and non-technical stakeholders.

Introduction to Design Patterns

42.What are design patterns in software development?

Design patterns are ready-made solutions to common problems faced during software design. They act like templates that help developers write better, organized, and easy-to-maintain code.

43.Why do developers use design patterns?

Developers use design patterns to solve problems quickly without starting from scratch. These patterns make the code more flexible, reusable, and easier to understand by everyone in the team.

44.Name some commonly used Design Patterns.

Common patterns include Singleton, Factory, Observer, and Strategy. Singleton ensures one instance of a class exists. Factory handles object creation. Observer notifies dependent objects of changes. Strategy allows interchangeable algorithms.

45.What is the Singleton Pattern?

The Singleton pattern ensures that only one object of a class is created in the whole program. For example, it's used to create a single database connection that can be reused whenever needed.

46.What is the Factory Pattern?

The Factory pattern helps create objects without showing how they are made. Just like a factory produces different items, this pattern gives the right object based on user input, hiding complex details behind a simple interface.

47.Explain the Observer Pattern with an example.

In the Observer pattern, one object notifies others when something changes. For example, subscribers get automatic updates from a news publisher whenever new content is posted.

48.What is the Strategy Pattern used for?

The Strategy pattern allows using different methods or strategies to solve similar tasks. For example, a shopping cart can use different payment methods like credit card or PayPal depending on what the user chooses.

Software Debugging and Testing

49.What is Debugging?

Debugging is the process of finding and fixing errors in the code. It involves analyzing program behavior and identifying the root cause of issues. Effective debugging ensures the software runs as intended.

50.Why is Debugging important in software development?

Bugs can cause crashes, incorrect outputs, or security vulnerabilities. Debugging helps resolve these issues early, saving time and money. It ensures software reliability and user satisfaction.

51.What is testing in software development?

Testing is checking if a software works properly and does what it's supposed to do. It helps find mistakes before users start using it.

52.Why is testing important?

Testing makes sure the software has no big errors and works well. It helps avoid problems like crashes or wrong results after the software is released.

53.Define types of Testing.

Types of testing include Unit, Integration, System, and Acceptance Testing. Unit tests individual components. Integration tests how modules work together. System tests the whole application, and Acceptance tests whether it meets user needs.

54.What is unit testing?

Unit testing is when small parts of the software, like one function at a time, are tested. This helps make sure each part works correctly on its own.

55.What is integration testing?

Integration testing checks how different parts of the software work together. It finds issues that happen when these parts are connected.

56.What is system testing?

System testing checks the whole software as one complete system. It makes sure everything works well together and meets all the user's needs.

57.What is acceptance testing?

Acceptance testing is done by real users or clients to see if the software is ready to use. It checks if the software meets their expectations.

58.Which type of testing comes first?

Unit testing is done first. After that, integration testing, then system testing, and finally acceptance testing.

59.Who usually does acceptance testing?

Acceptance testing is usually done by end users or clients, not developers. They check if the software works well for them before accepting it.

Software Development Tools

60.What are software development tools?

Software development tools are programs that help developers write, test, and manage code. They make it easier to create software by providing helpful features like error checking and code organization.

61.What is a code editor? Give two examples.

A code editor is a tool used to write and edit programming code. It makes coding easier with features like color-coding and auto-completion. Examples are Notepad++ and Visual Studio Code (VS Code).

62.What do translators do in software development?

Translators convert code written by humans into code that computers can understand. There are two types: compilers, which translate all code at once, and interpreters, which translate line by line.

63.What is a debugger? Why is it useful?

A debugger is a tool that helps find and fix errors in code. It lets developers see what's happening inside the program while it runs. This makes fixing problems faster and easier.

64.What is an IDE? Name two popular IDEs.

An IDE (Integrated Development Environment) is a complete package that includes tools like code editor, compiler, and debugger in one place. It makes coding more efficient. Two examples are Visual Studio and PyCharm.

65.Define Source Code Repositories.

Source code repositories store and manage code versions. Platforms like GitHub and Bitbucket allow developers to collaborate, track changes, and maintain history. They are essential for version control and teamwork.