0% found this document useful (0 votes)
2 views12 pages

se 2m

The document covers key concepts in software engineering, including definitions, methodologies, and roles within software development. It contrasts various models like Waterfall and Agile, discusses project management steps, and outlines testing techniques such as White Box and Black Box testing. Additionally, it addresses software requirements, design principles, and the importance of modularity and abstraction in software architecture.

Uploaded by

saigudipati9000
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)
2 views12 pages

se 2m

The document covers key concepts in software engineering, including definitions, methodologies, and roles within software development. It contrasts various models like Waterfall and Agile, discusses project management steps, and outlines testing techniques such as White Box and Black Box testing. Additionally, it addresses software requirements, design principles, and the importance of modularity and abstraction in software architecture.

Uploaded by

saigudipati9000
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/ 12

1st unit:

1. Define Software Engineering.


Software Engineering is the systematic application of engineering principles to the development,
operation, and maintenance of software to ensure its reliability, efficiency, and scalability.

2. Compare process with project.

• Process: A defined set of activities to achieve a goal; it's repeatable and standard across
projects.

• Project: A unique effort with specific objectives, defined time, and resource constraints.

3. Differentiate between the Waterfall model and the Agile development approach.

• Waterfall: Linear and sequential; each phase is completed before the next begins.

• Agile: Iterative and incremental; requirements and solutions evolve through collaboration
and flexibility.

4. Identify the characteristic needed for a software engineer.

• Problem-solving skills

• Strong analytical ability

• Good communication

• Attention to detail

5. List out the role of Project Owner in Agile Process Model.

• Defines product vision

• Prioritizes backlog

• Communicates stakeholder needs

• Ensures value delivery

6. List out the steps involved in software project management.

• Project planning

• Scheduling

• Resource allocation

• Risk management
• Monitoring and control

7. How do you estimate time required for a software development project?

• Using techniques like expert judgment, analogy-based estimation, and models such as
COCOMO or function point analysis.

8. Distinguish between verification and validation.

• Verification: Ensures the product is built correctly (meets specs).

• Validation: Ensures the right product is built (meets user needs).

9. What are the Advantages of Scrum Process Model?

• Encourages team collaboration

• Flexibility to changing requirements

• Faster delivery with continuous feedback

• Improved product quality

10. What is 4 P's of Project Management?

• People: Team members and stakeholders

• Product: Software being developed

• Process: Methodology followed

• Project: Planning and execution aspects

1. Define Software Engineering.


Software Engineering is the systematic application of engineering principles to the development,
operation, and maintenance of software to ensure its reliability, efficiency, and scalability.

2. Compare process with project.

• Process: A defined set of activities to achieve a goal; it's repeatable and standard across
projects.

• Project: A unique effort with specific objectives, defined time, and resource constraints.

3. Differentiate between the Waterfall model and the Agile development approach.

• Waterfall: Linear and sequential; each phase is completed before the next begins.
• Agile: Iterative and incremental; requirements and solutions evolve through collaboration
and flexibility.

4. Identify the characteristic needed for a software engineer.

• Problem-solving skills

• Strong analytical ability

• Good communication

• Attention to detail

5. List out the role of Project Owner in Agile Process Model.

• Defines product vision

• Prioritizes backlog

• Communicates stakeholder needs

• Ensures value delivery

6. List out the steps involved in software project management.

• Project planning

• Scheduling

• Resource allocation

• Risk management

• Monitoring and control

7. How do you estimate time required for a software development project?

• Using techniques like expert judgment, analogy-based estimation, and models such as
COCOMO or function point analysis.

8. Distinguish between verification and validation.

• Verification: Ensures the product is built correctly (meets specs).

• Validation: Ensures the right product is built (meets user needs).

9. What are the Advantages of Scrum Process Model?

• Encourages team collaboration


• Flexibility to changing requirements

• Faster delivery with continuous feedback

• Improved product quality

10. What is 4 P's of Project Management?

• People: Team members and stakeholders

• Product: Software being developed

• Process: Methodology followed

• Project: Planning and execution aspects

2nd unit:
1. What is the primary purpose of a Software Requirements Specification (SRS) document? 2 CO2
K1 2. How does the lack of Planning affect a Project? 2 CO2 K1 3. Define the COCOMO model. 2
CO2 K1 4. Differentiate between risk projection and risk refinement. 2 CO2 K2 5. List out any two
use of software requirement specification. 2 CO2 K1 6. Distinguish between expected
requirements and excited requirements 2 CO2 K2 7. Define risk projection. 2 CO2 K1 5 8. What is
known as SRS review? How is it conducted? 2 CO2 K1 9. Differentiate Functional and non-
functional requirement. 2 CO2 K2 10. What is risk refinement in software engineering?

ChatGPT said:

Here are the concise 2-mark answers for your CO2-based questions:

1. What is the primary purpose of a Software Requirements Specification (SRS) document?


The primary purpose of an SRS is to clearly and precisely define the software's functional and
non-functional requirements, ensuring mutual understanding between stakeholders and the
development team.

2. How does the lack of Planning affect a Project?


Lack of planning leads to unclear objectives, poor resource allocation, missed deadlines, cost
overruns, and project failure due to unaddressed risks and scope creep.

3. Define the COCOMO model.


COCOMO (Constructive Cost Model) is a software cost estimation model that predicts effort,
time, and cost required to develop software based on project size (measured in lines of code).

4. Differentiate between risk projection and risk refinement.


• Risk Projection: Identifies and estimates the likelihood and impact of risks.

• Risk Refinement: Breaks down identified risks into more specific sub-risks for better analysis
and mitigation.

5. List out any two uses of software requirement specification.

• Acts as a contract between stakeholders and developers.

• Serves as a foundation for system design and validation.

6. Distinguish between expected requirements and excited requirements.

• Expected Requirements: Basic needs explicitly demanded by the user.

• Excited Requirements: Features that delight users but are not requested; they exceed
expectations.

7. Define risk projection.


Risk projection involves evaluating identified risks in terms of their probability of occurrence,
impact, and the priority for mitigation.

8. What is known as SRS review? How is it conducted?


SRS review is the process of evaluating the SRS document for completeness, correctness, and
consistency. It is conducted through peer reviews, walkthroughs, or formal inspections.

9. Differentiate Functional and Non-functional requirement.

• Functional Requirements: Define system behavior and specific functions (e.g., login, data
processing).

• Non-functional Requirements: Define quality attributes (e.g., performance, security,


usability).

10. What is risk refinement in software engineering?


Risk refinement is the process of analyzing a general risk by decomposing it into more detailed
sub-risks to understand its root causes and design effective mitigation strategies.
3rd unit:
1. Differentiate between a use case diagram and a class diagram in UML.

• Use Case Diagram: Represents system functionality and interactions between users (actors)
and use cases.

• Class Diagram: Represents the static structure of a system, showing classes, attributes,
operations, and relationships.

2. What is the purpose of a collaboration diagram?


A collaboration diagram shows how objects interact through messages, emphasizing the
structural organization of objects and their relationships during an interaction.

3. Define the term Use Case Diagram.


A use case diagram is a visual representation of the system’s functionality from a user’s
perspective, showing actors, use cases, and their interactions.

4. Explain the use of data modelling in software engineering.


Data modeling helps define and organize data requirements, showing how data is stored, related,
and processed, which is critical for designing databases and systems.

5. How do you evaluate user interface?


User interfaces are evaluated using usability testing, heuristic evaluation, feedback from users,
and performance metrics like task completion time and error rate.

6. Define ER model and its components.


The Entity-Relationship (ER) model visually represents data and its relationships. Components
include:

• Entities: Objects (e.g., Student)

• Attributes: Properties (e.g., Name)

• Relationships: Associations (e.g., Enrolls)

7. How does an Object Behavior Model represent dynamic behavior?


It uses state diagrams or sequence diagrams to show changes in object states or interactions
over time, representing the system's dynamic behavior.
8. Define UML and its types.
UML (Unified Modeling Language) is a standardized modeling language used to visualize, specify,
and document software systems. Types include:

• Structural Diagrams (e.g., class, object)

• Behavioral Diagrams (e.g., use case, sequence)

9. How do we achieve generalisation and specialisation?

• Generalisation: Extracts common features from multiple classes into a superclass.

• Specialisation: Adds specific features to a subclass from a general superclass.

10. Explain how does Data Flow Diagram help in design of Software Engineering?
DFDs model how data moves through a system, identifying processes, data stores, and data
flows, which helps in understanding and designing system functionality.

1. Differentiate between a use case diagram and a class diagram in UML.

• Use Case Diagram: Represents system functionality and interactions between users (actors)
and use cases.

• Class Diagram: Represents the static structure of a system, showing classes, attributes,
operations, and relationships.

2. What is the purpose of a collaboration diagram?


A collaboration diagram shows how objects interact through messages, emphasizing the
structural organization of objects and their relationships during an interaction.

3. Define the term Use Case Diagram.


A use case diagram is a visual representation of the system’s functionality from a user’s
perspective, showing actors, use cases, and their interactions.

4. Explain the use of data modelling in software engineering.


Data modeling helps define and organize data requirements, showing how data is stored, related,
and processed, which is critical for designing databases and systems.

5. How do you evaluate user interface?


User interfaces are evaluated using usability testing, heuristic evaluation, feedback from users,
and performance metrics like task completion time and error rate.
6. Define ER model and its components.
The Entity-Relationship (ER) model visually represents data and its relationships. Components
include:

• Entities: Objects (e.g., Student)

• Attributes: Properties (e.g., Name)

• Relationships: Associations (e.g., Enrolls)

7. How does an Object Behavior Model represent dynamic behavior?


It uses state diagrams or sequence diagrams to show changes in object states or interactions
over time, representing the system's dynamic behavior.

8. Define UML and its types.


UML (Unified Modeling Language) is a standardized modeling language used to visualize, specify,
and document software systems. Types include:

• Structural Diagrams (e.g., class, object)

• Behavioral Diagrams (e.g., use case, sequence)

9. How do we achieve generalisation and specialisation?

• Generalisation: Extracts common features from multiple classes into a superclass.

• Specialisation: Adds specific features to a subclass from a general superclass.

10. Explain how does Data Flow Diagram help in design of Software Engineering?
DFDs model how data moves through a system, identifying processes, data stores, and data
flows, which helps in understanding and designing system functionality.
4th unit::

1. What is the principle of modularity in software design?


Modularity is the design principle of breaking down a system into smaller, manageable, and
independent modules, each responsible for a specific functionality to improve maintainability
and reusability.

2. Differentiate between coupling and cohesion.

• Coupling: The degree of interdependence between modules (lower is better).

• Cohesion: The degree to which elements within a module belong together (higher is better).

3. List any 2 main usages of data design.

• Defines how data is structured, stored, and accessed.

• Helps in designing databases and ensuring efficient data flow within the system.

4. How does abstraction help in software design?


Abstraction hides complexity by focusing on essential features, making systems easier to design,
understand, and modify.

5. What is software architecture?


Software architecture is the high-level structure of a software system, showing system
components and their relationships, guiding development and design decisions.

6. Compare data flow-oriented design with data structured-oriented design.

• Data Flow-Oriented Design: Focuses on processes and data movement between them (e.g.,
DFDs).

• Data Structured-Oriented Design: Emphasizes organizing data and operations based on data
structures.

7. What is the need for refactoring?


Refactoring improves internal code structure without altering external behavior, enhancing
readability, maintainability, and performance.
8. Define Transform Flow and Transaction Flow.

• Transform Flow: Input data is transformed through a series of steps into output.

• Transaction Flow: The flow is triggered by a transaction or event, and control flow depends
on user actions or data conditions.

9. What is a design pattern with an example?


A design pattern is a general reusable solution to common design problems.
Example: Singleton Pattern – ensures a class has only one instance and provides a global point of
access to it.

10. What is the work product of the software design process?


The work product includes design documents, architectural models, interface designs, data
structures, and detailed specifications for components.

5th unit:
1. What are the advantages and disadvantages of the Big Bang integration testing approach?

• Advantages:

o Simple and easy to implement.

o Requires minimal planning.

• Disadvantages:

o Difficult to isolate errors.

o Debugging is complex and time-consuming.

o Integration issues are found late.

2. What are the attributes of a software?

• Correctness

• Reliability

• Usability

• Efficiency

• Maintainability

• Portability
3. Define the concept of White Box Testing.
White Box Testing is a testing technique that examines the internal structure, logic, and code of
the program to validate the flow and functionality.

4. Differentiate White Box and Black Box Testing.

• White Box Testing: Tests internal code structure, logic, and paths.

• Black Box Testing: Tests external functionality without knowledge of internal code.

5. List any 4 categories of CASE tools.

• Project Management Tools

• Design Tools

• Code Generation Tools

• Testing Tools

6. What is Software Maintenance?


Software Maintenance involves modifying and updating software after delivery to correct faults,
improve performance, or adapt to a changed environment.

7. What is Integration Testing?


Integration Testing tests the interaction between integrated units or components to ensure they
work together as expected.

8. Give the formula for Cyclomatic Complexity.


Cyclomatic Complexity (V(G)) = E − N + 2P
Where:

• E = number of edges

• N = number of nodes

• P = number of connected components (typically 1 for a single program)

9. Outline the process of Re-engineering in software engineering.

• Analysis: Understand the existing system.

• Reverse Engineering: Extract design and specification.

• Modification: Update design or code.

• Forward Engineering: Generate new system with improved functionality or performance.


10. Compare Verification and Validation.

• Verification: Checks if the product is being built correctly (e.g., design reviews, inspections).

• Validation: Checks if the right product is being built (e.g., testing against user requirements).

You might also like