0% found this document useful (0 votes)
1 views11 pages

DCA-3103

The document provides an overview of software engineering, detailing its applications such as ERP systems, mobile banking apps, and healthcare management software, alongside key objectives like correctness, reliability, and security. It also discusses software development life cycles (SDLC), comparing Waterfall and Iterative models, and outlines testing techniques including white box and black box testing. Lastly, it differentiates between verification and validation processes, and explains data analytics and business intelligence as tools for informed decision-making.

Uploaded by

godene8120
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views11 pages

DCA-3103

The document provides an overview of software engineering, detailing its applications such as ERP systems, mobile banking apps, and healthcare management software, alongside key objectives like correctness, reliability, and security. It also discusses software development life cycles (SDLC), comparing Waterfall and Iterative models, and outlines testing techniques including white box and black box testing. Lastly, it differentiates between verification and validation processes, and explains data analytics and business intelligence as tools for informed decision-making.

Uploaded by

godene8120
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

1

NAME & ROLL NUMBER

COURSE CODE AND NAME 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 :

1. Enterprise Resource Planning (ERP) Systems


Large organizations rely on ERP software to integrate finance, human resources,
inventory, and procurement. A bespoke ERP might track raw-material usage at an
automobile plant while simultaneously managing payroll for factory workers—
ensuring that production schedules align with workforce availability.

2. Embedded Systems in Automobiles


Modern vehicles contain dozens of microcontrollers coordinating fuel injection,
traction control, and in-car entertainment. Software engineering ensures that these
real-time systems react within milliseconds to sensor data—preventing skids,
optimizing fuel economy, and even managing heated seats.

3. Mobile Banking Apps


Secure, user-friendly applications allow account holders to transfer funds, deposit
checks via camera capture, and view transaction histories. Behind the smooth
interface lie encrypted communication protocols, rigorous authentication modules,
and fault-tolerant transaction logs.

4. Healthcare Management Software


Patient scheduling, electronic medical records, and prescription management software
collaborate to reduce waiting times, prevent prescription errors, and enable
telemedicine consultations—often in rural clinics with limited bandwidth.

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.

6. Industrial Control Systems (SCADA)


Supervisory Control and Data Acquisition software monitors water treatment plants,
power grids, and oil pipelines. It collects telemetry from remote sensors, visualizes
system health, and issues control commands under operator supervision.
3

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

 Linear Progression: No overlapping phases.

 Fixed Requirements: All requirements are documented upfront.

 Emphasis on Documentation: Formal specifications and design documents at each


stage.

Advantages

 Predictability: Clear milestones and deliverables.

 Easy to Manage: Each phase has defined entry and exit criteria.

 Suitable for Stable Requirements: Projects with well-understood domains (e.g.,


embedded firmware for devices with certified hardware).

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

II. Iterative Model

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.

 Frequent Deliverables: Working prototypes emerge early and evolve.

 User Feedback Loops: Stakeholders review each iteration, guiding subsequent


development.

Advantages

 Flexibility: Changes can be incorporated in later iterations without derailing the


project.

 Risk Mitigation: Early prototypes uncover technical or requirement risks.

 User Involvement: Regular demos ensure alignment with stakeholder expectations.

Disadvantages

 Potential Scope Creep: Without strict controls, iterations may accumulate features
beyond original intent.

 Complex Planning: Managing multiple overlapping iterations demands diligent


coordination.

 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

Term Definition Example

Fault Latent defect in code or design Off-by-one error in an array index

Observable incorrect behavior when Crash when user inputs exactly 100
Failure
executing faulty code characters

Probability of failure-free operation 99.999% uptime (approximately 5.26


Reliability
over time minutes downtime per year)

Maintaining Reliability

 Robust Testing: Stress tests, fault-injection, and error-path coverage.

 Error Handling: Graceful recovery mechanisms and exception management.

 Redundancy: Replicated components and failover servers.

 Monitoring: Real-time telemetry to detect anomalies before they escalate.


7

SET II

Question 4:

Testing techniques classify methods by their visibility into internal code structure.

I. White Box Testing

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

 Statement Coverage: Ensures each source statement executes at least once.

 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

 Early fault detection by inspecting internal logic.

 Precise pinpointing of faulty code segments.

Disadvantages

 Requires code access and understanding.

 Not suited for large-scale system integration testing.

II. Black Box Testing


8

Definition
Also called behavioral testing, it validates functionality against requirements without insight
into internal code. Testers focus on inputs and expected outputs.

Techniques

 Equivalence Partitioning: Divides input data into classes expected to behave


similarly.

 Boundary Value Analysis: Tests edges of input domains (e.g., 0, 1, 99, 100 for input
range [1..100]).

 Decision Table Testing: Maps combinations of input conditions to outputs.

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

 No code knowledge required; tests reflect user perspective.

 Effective for validating integration between modules.

Disadvantages

 Potentially large number of test cases to achieve coverage.

 May miss specific internal faults.

Question 5:

I. Verification vs. Validation

Validation (“Building the Right


Aspect Verification (“Building It Right”)
Thing”)

Conformance to specifications and design Meets stakeholders’ needs and


Focus
documents intended use

“Are requirements correctly “Does the system fulfill its intended


Questions
implemented?” purpose?”

System testing, user acceptance


Techniques Reviews, inspections, walkthroughs
testing (UAT)
9

Validation (“Building the Right


Aspect Verification (“Building It Right”)
Thing”)

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).

II. Traditional vs. Modern Practices

Traditional (Waterfall,
Practice Aspect Modern (Agile, Flexible)
Rigid)

Requirements Upfront, complete


Iterative, evolving user stories
Gathering specification

Costly formal change Embraced through continuous backlog


Change Management
requests refinement

Frequent releases (sprints, CI/CD


Delivery Cadence Single final delivery
pipelines)

Functional silos (analysts,


Team Structure Cross-functional, self-organizing teams
testers)

Customer Continuous through sprint reviews and


Limited to milestones
Involvement demos

Late discovery via phased Early detection via test-driven and


Risk Handling
testing continuous integration

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

1. Data Collection: Aggregating data from sources—transaction logs, IoT sensors,


social media feeds.

2. Data Cleaning: Removing duplicates, correcting errors, handling missing values.

3. Exploratory Analysis: Visualizing distributions, correlations, and anomalies.

4. Predictive Modeling: Applying machine learning (e.g., regression, tree-based


methods) to forecast trends.

5. Prescriptive Analytics: Recommending actions (e.g., inventory restocking levels)


based on predictions.

Example
A retail chain analyzes point-of-sale data and weather forecasts to predict ice cream demand,
adjusting production to minimize wastage and stockouts.

Business Intelligence (BI)

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).

 OLAP Cubes: Multidimensional data views enabling “slice-and-dice” exploration.

 Drill-Down Analysis: From high-level metrics to granular transaction details.


11

 Ad Hoc Querying: Empowering business users to create customized reports without


IT intervention.

Example
A logistics company uses BI dashboards to monitor fleet performance, fuel consumption, and
delivery times—identifying bottlenecks and optimizing routes to reduce costs.

You might also like