1. Software does not “wear out” as compared to hardware. Justify.
Answer:
• Hardware components wear out due to physical usage and aging.
• Software has no physical parts, so it does not deteriorate with time.
• Software failures occur due to errors, bugs, or modifications, not due to wear and
tear.
2. What are the generic framework activities of a software process?
Answer:
The generic framework activities are:
1. Communication – Gathering requirements from the customer.
2. Planning – Estimating cost, time, and resources.
3. Modeling – Designing the system and software structure.
4. Construction – Coding and testing the software.
5. Deployment – Delivering the product and providing maintenance.
3. Define a Process Model. Explain the purposes of Process Models.
Answer:
Process Model:
• A process model is a structured approach that defines the sequence of activities
in software development.
Purposes:
• Provides a systematic method for software development.
• Helps in planning, managing, and controlling projects.
• Improves software quality and productivity.
4. Differentiate between Technical feasibility and Economical feasibility.
Answer:
Technical Feasibility Economical Feasibility
Checks whether required technology is Checks whether the project is cost-
available effective
Focuses on technical resources and skills Focuses on budget and financial
benefits
Ensures system can be technically Ensures project is financially viable
implemented
5. Write a short note on Use Case Diagram.
Answer:
• A Use Case Diagram represents the functional requirements of a system.
• It shows interactions between actors (users) and the system.
• It helps in understanding system behavior from the user’s perspective.
6. Explain software prototyping along with prototyping taxonomy.
Answer:
Software Prototyping:
• Prototyping is the process of creating a working model of the software.
• It helps users understand requirements early.
Prototyping Taxonomy:
1. Throwaway Prototyping – Prototype is discarded after requirements are
understood.
2. Evolutionary Prototyping – Prototype is gradually improved into the final
system.
7. Differentiate between Conceptual design and Technical design.
Answer:
Conceptual Design Technical Design
High-level system view Low-level detailed design
Focuses on what the system does Focuses on how the system is built
User-oriented Developer-oriented
8. Briefly explain Component diagram and Deployment diagram.
Answer:
• Component Diagram shows software components and their dependencies.
• Deployment Diagram shows the physical deployment of software on hardware
nodes.
• Both are UML diagrams used during design.
9. What is a Test Plan?
Answer:
• A Test Plan is a document that describes testing objectives and strategies.
• It defines scope, test cases, schedule, and resources.
• It ensures systematic and planned testing.
10. Explain the integration approaches in integration testing.
Answer:
The main integration approaches are:
1. Top-Down Integration – Testing starts from main modules.
2. Bottom-Up Integration – Testing starts from low-level modules.
3. Sandwich Integration – Combination of top-down and bottom-up.
11. Formulate the purpose of Interaction Diagram.
Answer:
• Interaction diagrams show how objects communicate with each other.
• They represent message flow between objects.
• They help understand dynamic behavior of the system.
12. Explain Activity Diagram with an example.
Answer:
• An Activity Diagram represents the workflow of activities in a system.
• It shows sequence, decisions, and parallel activities.
• Example: Online order process – login → select item → payment → order
confirmation.
1. Describe the new technologies and the challenges posed by them for software
engineers.
Answer:
New Technologies:
• Cloud computing
• Artificial Intelligence and Machine Learning
• Internet of Things (IoT)
• Mobile and Web technologies
Challenges:
• Rapid technology changes require continuous learning.
• Security and privacy issues increase.
• Handling scalability and performance becomes complex.
2. Identify the umbrella activities of a software process.
Answer:
Umbrella activities are applied throughout the software process:
• Software project tracking and control
• Risk management
• Software quality assurance
• Technical reviews
• Configuration management
• Documentation and reusability management
3. What is an Agile Process?
Answer:
• Agile process is an iterative and incremental software development approach.
• It focuses on customer collaboration and quick delivery.
• It adapts easily to changing requirements.
4. What are the steps required to initiate requirements engineering?
Answer:
Steps involved are:
1. Inception – Identify stakeholders and system scope.
2. Elicitation – Gather requirements from users.
3. Elaboration – Analyze and refine requirements.
4. Negotiation – Resolve conflicts and prioritize requirements.
5. Explain the basic elements used to construct Data Flow Diagram (DFD).
Answer:
The basic elements of DFD are:
• Process – Transforms input data into output.
• Data Flow – Shows movement of data.
• Data Store – Stores data for later use.
• External Entity – Source or destination of data.
6. Describe the types of relationships in an ER diagram.
Answer:
Types of relationships are:
• One-to-One (1:1) – One entity relates to one entity.
• One-to-Many (1:N) – One entity relates to many entities.
• Many-to-Many (M:N) – Many entities relate to many entities.
7. What is Function Oriented Design?
Answer:
• Function-oriented design decomposes a system into functions.
• Each function performs a specific task.
• It follows top-down approach and stepwise refinement.
8. What is an Activity Diagram used for?
Answer:
• Activity diagrams model the workflow of a system.
• They show sequence, decisions, and parallel activities.
• Used to understand business processes and system behavior.
9. Elaborate the importance of Software Testing.
Answer:
• Ensures software works according to requirements.
• Identifies defects before delivery.
• Improves software quality and reliability.
• Reduces cost of fixing errors later.
10. What is Regression Testing?
Answer:
• Regression testing checks whether changes affect existing functionality.
• It is performed after bug fixes or enhancements.
• Ensures previously working features still work correctly.
11. Define Use Case Modeling.
Answer:
• Use case modeling captures functional requirements of a system.
• It shows interactions between users (actors) and the system.
• Helps understand system behavior from user perspective.
12. Explain the importance of Class Diagram.
Answer:
• Class diagrams show system structure.
• They represent classes, attributes, methods, and relationships.
• Help in object-oriented design and code development.
1. What is Software? Why is software important?
Answer:
• Software is a collection of programs, procedures, and related documentation
that instructs a computer to perform tasks.
• Importance of software:
o Controls and operates hardware.
o Helps solve real-world problems.
o Used in all fields such as education, banking, healthcare, and business.
2. Write brief notes on the Waterfall Model.
Answer:
• Waterfall model is a linear sequential software development model.
• Each phase must be completed before moving to the next.
• Phases include:
Requirements → Design → Coding → Testing → Deployment → Maintenance
• It is simple and easy to manage.
• Suitable for projects with well-defined requirements.
3. Explain the advantages of the Spiral Model.
Answer:
• Emphasizes risk analysis at every stage.
• Suitable for large and complex projects.
• Allows changes during development.
• Combines features of both waterfall and prototyping models.
4. Explain feasibility study.
Answer:
• Feasibility study determines whether a project is practical and viable.
• Types of feasibility:
o Technical feasibility – availability of technology.
o Economic feasibility – cost-benefit analysis.
o Operational feasibility – user acceptance.
o Schedule feasibility – completion within time.
5. Construct a DFD for a hospital system.
Answer (Explanation-based):
• External Entities: Patient, Doctor
• Processes:
o Register Patient
o Conduct Test/Examination
o Maintain Medical Records
• Data Stores:
o Patient Records
o Test and Examination Log
• Data Flow:
o Patient provides details → Registration process
o Doctor conducts tests → Updates test log
o Medical records are stored and retrieved when needed
(In exam, draw Level-0 DFD showing Patient and Doctor interacting with Hospital System)
6. Explain SRS and its organization.
Answer:
• SRS (Software Requirements Specification) is a document that describes
system requirements clearly.
• Organization of SRS:
o Introduction
o Overall description
o Functional requirements
o Non-functional requirements
o System interfaces
• It acts as a contract between customer and developer.
7. What are the steps in software design?
Answer:
The steps are:
1. Architectural design
2. Data design
3. Interface design
4. Component-level design
5. Detailed design
8. What is a hybrid approach in software design?
Answer:
• Hybrid approach combines function-oriented design and object-oriented
design.
• Uses functions for process modeling and objects for data modeling.
• Provides flexibility and better system structure.
9. Briefly explain performance testing.
Answer:
• Performance testing checks system speed, response time, and stability.
• Ensures software works efficiently under expected load.
• Types include load testing and stress testing.
10. Explain system testing.
Answer:
• System testing tests the entire integrated system.
• Ensures the system meets specified requirements.
• It is performed after integration testing.
• Includes functional and non-functional testing.
11. Draw and explain a Use Case Diagram.
Answer:
• A Use Case Diagram represents interactions between actors and the system.
• Shows system functionality from user perspective.
• Elements:
o Actor (user)
o Use case (oval)
o System boundary
Example:
Online Shopping System – Actor: Customer → Use cases: Login, Place Order, Make
Payment
12. Mention the elements of an Activity Diagram.
Answer:
Elements of Activity Diagram are:
• Initial node
• Activity or action
• Decision node
• Control flow
• Fork and join
• Final node
1. Describe the new technologies and the challenges posed by them for software
engineers.
Answer:
New technologies:
• Cloud computing
• Artificial Intelligence and Machine Learning
• Internet of Things (IoT)
• Mobile and Web technologies
Challenges:
• Rapid changes require continuous learning.
• Security and privacy risks increase.
• Managing scalability and performance is difficult.
2. Differentiate between Software Product and Software Process.
Answer:
Software Product Software Process
Final software delivered to user Set of activities used to develop software
Includes programs and documents Includes planning, design, coding, testing
Focuses on what is built Focuses on how it is built
3. What is Scrum?
Answer:
• Scrum is an Agile framework for software development.
• Work is divided into short iterations called Sprints.
• It emphasizes teamwork, regular meetings, and quick delivery.
• Roles include Product Owner, Scrum Master, and Development Team.
4. List out the various activities in FAST session.
Answer:
FAST (Facilitated Application Specification Technique) activities:
• Scope definition
• Problem identification
• Requirement elicitation
• Requirement analysis
• Requirement prioritization
• Requirement documentation
5. List out the various steps in requirement analysis.
Answer:
Steps involved are:
1. Requirement elicitation
2. Requirement analysis and modeling
3. Requirement negotiation
4. Requirement specification
5. Requirement validation
6. Discuss the role of Data Dictionary in requirement analysis.
Answer:
• Data dictionary defines data elements used in the system.
• It provides meaning, format, and usage of data.
• Ensures consistency in data flow diagrams.
• Helps developers and users understand data clearly.
7. Explain top-down, bottom-up, and hybrid design.
Answer:
• Top-down design: System is divided from high level to detailed modules.
• Bottom-up design: Starts with low-level modules and integrates upward.
• Hybrid design: Combination of top-down and bottom-up approaches.
8. Explain different structure chart notations.
Answer:
Structure chart notations include:
• Module: Rectangle representing a function.
• Data flow: Arrow showing data passed between modules.
• Control flow: Arrow showing control signals.
• Decision module: Shows conditional logic.
• Loop symbol: Indicates repeated execution.
9. Discuss recovery testing.
Answer:
• Recovery testing checks system ability to recover from failures.
• Failures may include power loss or system crash.
• Ensures data recovery and system restart work correctly.
• It is a type of non-functional testing.
10. Explain white-box testing.
Answer:
• White-box testing tests internal logic of the program.
• Tester has knowledge of source code.
• Focuses on paths, conditions, and loops.
• Also called structural testing.
11. Compare use case and use case scenario.
Answer:
Use Case Use Case Scenario
General description of system function Specific sequence of steps
High-level view Detailed execution flow
May have many scenarios Represents one possible flow
12. Explain the use of “Rake” symbol in Activity Diagram.
Answer:
• Rake symbol represents a collapsed sub-activity.
• It shows that an activity can be expanded into another activity diagram.
• Used to reduce complexity and improve clarity.