DCA-3103
DCA-3103
SEMESTER II
2
SET – I
Question 1:
Software engineering operates as the disciplined craft of designing, building, and maintaining
the digital systems that drive modern life. Its applications span countless domains, and its
objectives ensure that those applications meet human needs with reliability, efficiency, and
maintainability.
Applications :
5. E-Learning Platforms
Interactive learning environments adapt course content in real time, tracking student
progress and tailoring quizzes based on individual performance. Collaborative
features enable virtual classrooms, discussion forums, and peer-reviewed
assignments.
Objectives :
1. Correctness
The software should precisely fulfill its specification. For instance, an air-traffic
control system must calculate aircraft separation with exactitude—any deviation
could compromise safety.
2. Reliability
The system must perform consistently over time. A banking backend that processes
millions of transactions per day must guard against data corruption and ensure
accurate account balances even during hardware failures.
3. Efficiency
Response times and resource utilization must remain within acceptable bounds. A
high-frequency trading platform chases microsecond advantages; excessive CPU
usage or memory bloat can translate directly into financial loss.
4. Maintainability
As requirements evolve, the software must accommodate changes with minimal
rework. Modular, well-documented code allows new features—such as support for a
new mobile device—to be integrated rapidly.
5. Portability
The ability to run across various environments (Windows, Linux, cloud platforms). A
web application written in a portable framework can shift from on-premises servers to
container-based deployment on Azure with little alteration.
6. Usability
End users should achieve their goals with minimal effort and error. A surgeon
controlling a robotic-assist system in the operating room needs an intuitive interface
with clear visual feedback.
7. Security
Protection against unauthorized access, data breaches, and malicious attacks. A social
media site must encrypt user credentials, validate inputs to prevent SQL injection, and
deploy intrusion-detection systems.
8. Scalability
The capacity to handle increasing loads by scaling up resources or distributing
workload. A video streaming service must manage sudden spikes—such as a popular
live event—by dynamically provisioning servers and balancing traffic.
4
Question 2:
The software development life cycle (SDLC) provides structured approaches to guide a
project from concept through retirement. Two foundational models—Waterfall and Iterative
—offer contrasting philosophies for managing requirements, design, implementation, and
testing.
I. Waterfall Model
Overview
The Waterfall model divides the SDLC into sequential phases, each completed before the
next begins: Requirements → Design → Implementation → Testing → Deployment →
Maintenance.
Characteristics
Advantages
Easy to Manage: Each phase has defined entry and exit criteria.
Disadvantages
Rigidity: Any change requires revisiting earlier phases, incurring cost and delay.
Late Testing: Bugs may not surface until integration, increasing debugging effort.
Limited User Feedback: Stakeholders see working software only near the end.
Example
Developing control software for a medical imaging machine—requirements governed by
regulatory standards and unlikely to change—benefits from the Waterfall model’s disciplined
documentation and validation checkpoints.
5
Overview
The Iterative model breaks the project into small increments or iterations. Each iteration
cycles through requirements, design, implementation, and testing, producing a functional—
but limited—version of the software.
Characteristics
Progressive Refinement: Features are added and refined over successive cycles.
Advantages
Disadvantages
Potential Scope Creep: Without strict controls, iterations may accumulate features
beyond original intent.
Resource Allocation: Repeated testing and refinement consume time and budget if
not properly scoped.
Example
An e-commerce startup rolling out a new mobile app might first deliver basic browsing and
purchasing functionality in the first iteration, then add user profiles and loyalty programs in
subsequent cycles—adapting based on user feedback and market trends.
Question 3:
Software reliability denotes the probability that a system will operate without failure under
specified conditions for a designated time span. It captures the confidence that software
performs its intended function consistently.
6
Key Terms
1. Fault (Defect/Bug)
A flaw or error in the code or design that may lead to incorrect behavior. Example: A
misplaced semicolon causing a conditional branch to bypass validation logic.
2. Failure
The manifestation of a fault during operation—when the software deviates from its
specification. Example: A banking application crashes when processing a transaction
over a certain amount.
3. Reliability
A statistical measure reflecting how often failures occur (or do not occur). Often
expressed as Mean Time Between Failures (MTBF) or failure rate per operational
hour.
Differences
Observable incorrect behavior when Crash when user inputs exactly 100
Failure
executing faulty code characters
Maintaining Reliability
SET II
Question 4:
Testing techniques classify methods by their visibility into internal code structure.
Definition
Also known as structural or glass-box testing, it validates internal logic and code paths.
Testers require knowledge of the source code to create test cases targeting specific branches,
loops, and conditions.
Techniques
Branch Coverage: Tests each possible branch of control structures (if-else, switch-
case).
Path Coverage: Exercises all possible execution paths through the code—practical
only for small modules due to combinatorial explosion.
Example
In a function that computes factorial recursively, white-box tests would verify both the base
case (n=0) and multiple recursive paths (n=1, n=5), ensuring no off-by-one logic errors.
Advantages
Disadvantages
Definition
Also called behavioral testing, it validates functionality against requirements without insight
into internal code. Testers focus on inputs and expected outputs.
Techniques
Boundary Value Analysis: Tests edges of input domains (e.g., 0, 1, 99, 100 for input
range [1..100]).
Example
For a login screen requiring username length between 5 and 12 characters, black-box testers
would try lengths 4, 5, 12, and 13—verifying acceptance or rejection accordingly.
Advantages
Disadvantages
Question 5:
Early in development (design and code Later stages (integration and final
Timing
reviews) acceptance)
Verification checks that each phase’s output aligns with its input requirements (e.g.,
design matches requirements).
Validation ensures the final product works for end users under real-world scenarios
(e.g., pilot deployment in a live environment).
Traditional (Waterfall,
Practice Aspect Modern (Agile, Flexible)
Rigid)
Example
A traditional telecom billing system might take two years before customers see a working
prototype. In contrast, a modern approach could release a minimal billing portal within two
months, then expand features based on user feedback—minimizing wasted effort on
unwanted functionality.
10
Question 6:
Data analytics and business intelligence (BI) form a duo that transforms raw data into
strategic insights guiding organizational decisions.
Data Analytics
Definition
The process of cleaning, transforming, and modeling data to discover useful patterns, inform
conclusions, and support decision-making. It spans descriptive, diagnostic, predictive, and
prescriptive analytics.
Components
Example
A retail chain analyzes point-of-sale data and weather forecasts to predict ice cream demand,
adjusting production to minimize wastage and stockouts.
Definition
An umbrella term for the technologies, applications, and practices for collecting, integrating,
analyzing, and presenting business information. BI emphasizes dashboards, reporting, and
OLAP (Online Analytical Processing) to facilitate strategic, data-driven decisions.
Key Capabilities
Dashboards & Reports: Interactive visualizations for KPI tracking (e.g., sales by
region, customer churn rate).
Example
A logistics company uses BI dashboards to monitor fleet performance, fuel consumption, and
delivery times—identifying bottlenecks and optimizing routes to reduce costs.