0% found this document useful (0 votes)
6 views

Assignment 1

Uploaded by

mushtaqmadni0054
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Assignment 1

Uploaded by

mushtaqmadni0054
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Page |1

HAZARA UNIVERSITY MANSEHRA

Assignment # 01

Submitted By

Name: Mushtaq Ahmad


R.No: 301-221046
Semester: Fall 2024
Class:BSCS-V(A)
Subject: Database and management system
Dept. of CS & IT

Submitted To

Name: Ma’am Romana


Designation: LECTURER
Dept. of Computer Science and Information Technology

Submitted on Date: 21-10-2024


Pa ge |2

Question # 1:
What is the most important difference between generic software product development and
custom software development? What might this mean in practice for users of generic software
products?

Answer:
Differenece between Generic software product development and
custom software development:
Generic software product Custom software development:
development:
 This type of software is built for broad  This type of software is built for
range of users with general needs. specific/particular organization,
 It is limited to customize. Bussiness or particular users.

 Generally scalable to a broad range of  It is highly customizable to specific


user. needs

 It required standard maintenance and  Scalability limited to specific needs.


support.  It required specific maintenance and
 It is less expensive. support.

 It is more reliable  More expensive.


Example:  Less reliable.
Ms office, Google sheets Example:
Lms, Hospital management
system(HMS)

Users of generic software products often face significant challenges due to the lack of tailored
features. Many find that these solutions do not adequately address their specific operational
processes, leading to frustration and inefficiencies. Over half of enterprise users report that their
generic software is only "somewhat effective" or worse in managing industry-specific tasks.
Pa ge |3

Question # 2:
Explain why the fundamental software engineering principles of process, dependability,
requirements management, and reuse are relevant to all types of software systems?
Answer:
The fundamental software engineering principles of process, dependability, requirements
management, and reuse are crucial for all software systems because they ensure:

Process:
“A well-defined process provides a structured approach to development, reducing errors and
improving efficiency across all types of software”.
Having a clear process means fewer mistakes and smoother work flow.
Example:
Imagine a bakery that has a specific recipe for making bread ,if the bakers follows the recipe step by
step they will produce consistent and tasty bread every time.
Similarly a software team that follows a process can create reliable softrware.

Dependability:
All software must be reliable and secure; dependable systems maintain user trust and minimize
failures, essential for critical applications like healthcare and finance.
Example:
Think about an online banking app. If users can’t access their accounts or if their information isn’t
secure, they’ll lose trust in the bank. Dependable software ensures that users can manage their
money safely and easily.

Requirements Management:
Clear management of requirements helps ensure that the final product meets user needs and
expectations, preventing costly changes later.
Example:
Consider building a new school playground. If the builders don’t talk to the teachers and kids about
what they want (like swings or slides), they might end up with something nobody likes. In software
development, managing requirements helps avoid similar situations.

Reuse:
Reusing components enhances efficiency and reduces development time, allowing teams to focus on
Pa ge |4

new features rather than reinventing existing solutions.


Example:
Think of LEGO blocks. If you have many different sets, you can mix and match pieces to build
something new without starting from zero each time. Similarly, in software development, reusing
code helps teams build better products faster.

You might also like