Software Engineering Chapter 1 Answer

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Queenee R.

Vidad Software Engineering


BS InfoTech 3A September 1, 2020

EXERCISE #1
1.1. Explain why professional software is not just the programs that are developed for a customer.
Software always has programs. But it’s more than a program because a software also includes
documentation and configuration data to make the programs operate correctly.

1.2. 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?
Generic software is created to be used by anyone who is able to afford them, which is controlled
by the developer, while custom software is created for a particular client, which is controlled by the client.
For users of generic software products, they have no control over the software, which means
they can’t change any features of the software even though they bought it.

1.3. What are the four important attributes that all professional software should have? Suggest four
other attributes that may sometimes be significant.
All professional software should be Acceptable, Dependable, Maintainable, and Efficient. Other
possible attributes are 1) Security, 2) Originality , 3) Reliability and 4) Availability.

1.4. Apart from the challenges of heterogeneity, business and social change, and trust and security,
identify other problems and challenges that software engineering is likely to face in the 21st century
(Hint: think about the environment).
Software Capability - not everyone owns a phone or computer with high specs. So developing a
software that can still be used by a gadget with low specs can be a challenge.

1.5. Based on your own knowledge of some of the application types discussed in section 1.1.2, explain,
with examples, why different application types require specialized software engineering techniques to
support their design and development.
Each application type must take into cost, schedule, and the customer’s and consumer’s needs.
The factor in determining which technique to use is the type of application that is being created. For
example, an embedded system may not be easily accessed after installation, therefore updates could be
difficult.

1.6. Explain why there are fundamental ideas of software engineering that apply to all types of software
systems.
Because all software systems have common quality attributes, like specification, development,
validation, and evolution. They are the fundamentals for any kind of project development.

1.7. Explain how the universal use of the Web has changed software systems.
Back then when there were no Web, software systems can be only purchased from stores, and
customers need to buy the newer version repeatedly. There were no servers that could be accessed by
everyone. Now, users can use the web to purchase any software they want and update it, anywhere and
anytime.

1.8. Discuss whether professional engineers should be certified in the same way as doctors or lawyers.
For me, professional engineers should be certified. Certificate is a proof that a person is more
than qualified to do his/her job. Today software has become essential to us, especially to big businesses
or organizations. Thus, it should not be made by just any programmer. This may also put the clients at
ease knowing that the one handling it is certified.

1.9. For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.3, suggest an appropriate
example that illustrates that clause.
a) Public - do not create a program that can harm anyone’s computer like malware.
b) Client & Employer - create a system that meets the client’s requirements and make sure that it is
secure and the cost is true.
c) Product - make sure that it is a good software.
d) Judgement - while creating a software, remember to always abide by the rules. Don’t be unethical.
e) Management - make sure your teammates are being ethical too.
f) Profession - do not jeopardize the reputation of the profession due to a fall-out with employers
or colleagues.
g) Colleagues - do not discriminate against your colleagues, help them improve.
h) Self - don’t stop learning and always be there for your colleagues.
1.10. To help counter terrorism, many countries are planning or have developed computer systems that
track large numbers of their citizens and their actions. Clearly this has privacy implications. Discuss the
ethics of working on the development of this type of system.
Every individual has human privacy rights. Thus, an ethical engineer should respect the
confidentiality of every individual so he/she will not violate their rights. This is dependent on the person’s
decision, if he/she wants to be monitored or not. Whatever their decision is, the engineer shall respect
their decisions.

You might also like