assignment 1
assignment 1
1. Functionality: A good software must be able to do what it was designed to do. The
software requirements must guide the design and implementation of the software.
2. Usability: The software must be usable; the users must not find it difficult to figure
out how a good software works. A good software is user-centered and user-friendly.
3. Efficiency: Efficiency means that perform it's operations with minimal time and
processing power. A good software uses the least amount of processing power and
memory needed to achieve the desired result.
5. Security: A good software must be secure. It should not cause physical or economic
damage in the event of a system failure. Unauthorized users must not be allowed
access to the system.
6. Reliability: A reliable system will rarely fail, and even when it does fail, there are
recovery mechanisms in the software to recover from the failure with minimal losses.
With the increase in the complexity of the software, many software problems arose
because existing methods were inadequate.
3.What are the fundamental activities that are common to all software
processes?
1. Software specification: This is written description of the scope of the software;
functionalities, constraints and limitations are clearly defined here.
2. Software Design and Implementation: The entails all the processes involved in
developing a software based on a given specification.
3. Software validation: The software must be tested to ensure that the requirements in
the software specification document are met. The developed software must perform the
functions required by the customer.
• Intellectual property rights – Engineers should be aware of local laws governing the
use of intellectual property such as patents, copyright, etc. They should be careful to
ensure that the intellectual property of employers and clients is protected.
• Computer misuse – Software engineers should not use their technical skills to misuse
other people’s computers. Computer misuse ranges from relatively trivial (game playing
on an employer’s machine, say) to extremely serious (dissemination of viruses).
The definition of ethical dilemma is a choice between two options, both of which will
bring a negative result based on society and personal guidelines.