Q1. Define Software Process.
Explain the five fundamental activities of
generic software process and umbrella activities.
A software process is a structured set of activities, actions, and tasks required to produce a
software system. It acts as a framework that defines who does what, when, and how. It
helps ensure software is built systematically, minimizing risks and maximizing quality.
Five Generic Framework Activities: 1. Communication – Interaction with stakeholders,
requirement gathering, clarifying objectives. 2. Planning – Estimation of cost, scheduling,
resource allocation, and risk assessment. 3. Modeling – Building abstract models of both
requirements (analysis models) and solutions (design models). 4. Construction – Includes
coding, integration, and testing. 5. Deployment – Delivering software, training users,
collecting feedback, and starting maintenance. Umbrella Activities: - Project tracking and
control - Risk management - Software Quality Assurance (SQA) - Technical reviews -
Measurement and metrics - Configuration management - Reusability management -
Documentation preparation This ensures predictability and quality in software
development.
Q2. What are the key attributes of the majority of WebApps?
Web applications differ from traditional software due to their reliance on the internet and
rapid evolution. Key attributes include: 1. Network intensiveness 2. Concurrency support 3.
Unpredictable load handling 4. High performance requirements 5. 24/7 availability 6.
Data-driven operation 7. Content sensitivity 8. Continuous evolution 9. Immediacy of
deployment 10. Security importance 11. Aesthetics for user satisfaction 12. Cross-platform
compatibility
Q3. Enumerate the software application domains that continuously challenge
engineers, with examples.
Seven application domains: 1. System Software – e.g., Operating Systems, Compilers. 2.
Application Software – e.g., Payroll Systems, MS Word. 3. Engineering & Scientific
Software – e.g., CAD, MATLAB. 4. Embedded Software – e.g., Smart TVs, Automotive
Systems. 5. Product-line Software – e.g., DBMS, ERP, Office Suites. 6. Web Applications
– e.g., Amazon, Gmail. 7. AI Software – e.g., Robotics, Expert Systems, Neural Networks.
Q4. Discuss characteristics of software and David Hooker’s seven principles
of software engineering practice.
Characteristics: - Software is engineered, not manufactured. - Doesn’t wear out but requires
maintenance. - Intangible and highly changeable. - Often custom-built. Hooker’s Seven
Principles: 1. Reason It All Exists – Provide real value. 2. KISS Principle – Keep designs
simple. 3. Maintain the Vision – Shared clear goals. 4. What You Produce, Others Will
Consume – Write maintainable code/docs. 5. Be Open to the Future – Design for
adaptability. 6. Plan Ahead for Reuse – Encourage reuse. 7. Think! – Careful analysis and
thought.
Q5. What are the modern software challenges and software myths?
Modern Challenges: - Open-world computing - Net sourcing - Open-source development -
Security and privacy - Rapid delivery pressure Myths: Management – Adding manpower
speeds up late projects. Customer – Rough objectives are sufficient, software is flexible.
Practitioner – Job ends once software works, documentation is unnecessary.
Q6. Demonstrate the waterfall model and spiral model with real-time
examples.
Waterfall Model: - Linear and sequential phases (Requirements → Design →
Implementation → Testing → Deployment). - Example: Payroll System with fixed
requirements. Spiral Model: - Combines prototyping and iteration with risk analysis. -
Example: Defense or aerospace systems requiring detailed risk management. Waterfall =
simple, rigid; Spiral = flexible, risk-driven.
Q7. Explain Requirement Engineering with tasks involved in Requirement
Engineering Process.
Requirement Engineering: Process of identifying, analyzing, documenting, validating, and
managing customer needs. Tasks: 1. Inception – Identify stakeholders and goals. 2.
Elicitation – Gather requirements. 3. Elaboration – Develop detailed models. 4. Negotiation
– Resolve conflicts. 5. Specification – Document requirements. 6. Validation – Ensure
correctness and completeness. 7. Management – Track requirement changes.
Q8. How can you develop an effective use case? UML use case for home
security function.
Steps to develop: 1. Identify actors. 2. Define goals and preconditions. 3. Write interaction
steps. 4. Add exceptions. 5. Validate with stakeholders. UML Example (Home Security):
Actors – Homeowner, Sensors, Monitoring Subsystem. Use Cases – Activate, Deactivate,
Monitor Sensors, Trigger Alarm. Shows interactions between actors and system.
Q9. Describe class-based model with example.
Class-based model represents structure of a system using classes, attributes, operations, and
relationships. Example (SafeHome): - Class: Sensor {id, type, status} → detect(), alert(). -
Class: ControlPanel {mode, password} → activate(), deactivate(). - Class: Alarm {level}
→ ring(), notify(). Relationship: ControlPanel manages Sensors, Sensors trigger Alarm.
Q10. Draw and explain Context-level 0, 1 and 2 DFD for Safe Home security
function.
Context-Level (0): Entire system as a single process, inputs (User commands, Sensor data),
outputs (Alarms, Reports). Level-1: Sub-processes – Authentication, Monitoring, Alarm
Control. Level-2: Detailed – Authentication (verify ID), Monitoring (sensor check, log,
trigger), Alarm Control (activate siren, notify). DFD shows data flow hierarchically from
inputs to outputs.