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

Project 1

Uploaded by

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

Project 1

Uploaded by

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

HOMEWORK(Assignment 1 + 2)

1) Write a paragraph introducing about a software and the benefits it brings


to you
Answer:
Microsoft Office was primarily created to automate the manual office work with a
collection of purpose-built applications.
Each of the applications in Microsoft Office serves as specific knowledge or office
domain such as:
1. Microsoft Word: Helps users in creating text documents.
2. Microsoft Excel: Creates simple to complex data/numerical spreadsheets.
3. Microsoft PowerPoint: Stand-alone application for creating professional
multimedia presentations.
4. Microsoft Access: Database management application.
5. Microsoft Publisher: Introductory application for creating and publishing
marketing materials.
6. Microsoft OneNote: Alternate to a paper notebook, it enables an user to
neatly organize their notes.
Besides desktop applications, Microsoft Office is available to use online or from
cloud under a lighter (Office Web Apps) and full (Office 365) version. As of 2013,
Microsoft Office 2013 is the latest version, available in 4 different variants
including Office Home Student 2013, Office Home Business 2013 and Office
Professional 2 and the online/cloud Office 365 Home Premium.

2) What differences has the web made to software engineering?


Answer: The web made the software services become more approachable and the
possibility service-based system highly distributed. It also lead to the advance in
programming language and software reuse.
3) Trace the problem one would face, if he tries to develop a large software
product without using software engineering principles.
Answer: he would face a lot of difficult in developing a large application. The
problem is that its complexity and software size.
4) Choose a type of application. Searching information of internet about an
application belong to this type.
Answer: I choose office software, because it is very essential for our life. It is used
for sending email, which is very useful for workspace.
Eg: Gmail is a free email service provided by Google. In many ways, Gmail is like
any other email service: You can send and receive emails, block spam, create
an address book, and perform other basic email tasks. But it also has some more
unique features that help make it one of the most popular online email services.
1.8. As software becomes more pervasive, risks to the public (due to faulty
programs) become an increasingly significant concern. Develop a doomsday
but realistic scenario in which the failure of a computer program could do
great harm (either economic or human).

- There are literally dozens of real life circumstances to choose from. For example,
software errors that have caused major telephone networks to fail, failures in
avionics that have contributed to plane crashes, computer viruses (e.g.,
Michelangelo) that have caused significant economic losses and attacks on major
e-‐commerce sites.
1.1. By making reference to the distribution of software costs discussed in
Section 1.1.6, explain why it is appropriate to consider software to be more
than the programs that can be executed by end-users of a system.
- Not all software is designed as a simple program that is executed, operating
systems, for example are not mundane programs that an end-user executes to
accomplish some minor task, it is an entire environment that the user utilizes to
execute other tasks. Even more commonly used programs, like the Microsoft
Office suite, isn’t a simple program, it is a platform that communicates with
several other programs to make accomplishing tasks easier and more straight
forward for the user.
2. What are the differences between generic software product development
and custom product development?
- Generic software has no specific target in mind, and development follows that
idea. It is designed from its conception to include every function they may possibly
use, and be accessible in a manner that does not leave the user feeling that the
software is “bloated” or overrun with useless features.
- Custom software, on the other hand, is conceptualized by the customer it is
developed for, and production and development is guided by the customer. This
includes custom components for a specific piece of software will likely not be
included in a generic equivalent of the software title, as it would undoubtedly serve
little to no purpose for the general public, as well as the removal of all
functionality that serves no purpose for the company. This results in a highly
efficient, streamlined program that suits the needs of the customer as well as can be
expected from
any piece of software.
1.3 What are the four important attributes which all software products should
have? Suggest four other attributes that may sometimes be significant.

- There are four attributes that all professional software should have:
1. Software must be maintainable.
- Unmaintainable software is difficult to change to meet new demands. Software
should be able to easily evolve, as change is inevitable in a growing business. It
would be very inefficient if software engineers had to rewrite the software from the
ground up again every time they needed to make a change. Making software
maintainable would include having a well organized framework, good
documentation, clean code, ect. Even when changes are made, these changes must
follow this maintainability rule.

2. Software must be dependable and secure.


- Software should ideally not have many bugs. In the event of failure, software
should not cause any damages. In addition, software must be secure. It would be
unfortunate if an online banking website had a security flaw that allowed outsiders
to access a users account. That would not be good software. In the event a bug or
security flaw is discovered, it should be fixed immediately, and users should be
notified of any major flaws.
3. Software must be efficient.
- Software should only use as many system resources as it needs. Wasteful use of
system resources can slow processes down and decrease responsiveness.
healthcare.gov is a good example of software that was inefficient.

4. Software must be acceptable.


- It should be compatible with the systems its users use, understandable, and
usable. As an example, a web application should be compatible with all browsers.
A good user interface would help with understandability and usability.

- I want to mention 4 important things:


5. Software should be scalable.
- This is especially necessary when software is running on a network. Good
software should be able to handle many concurrent processes and connections
efficiently. It should be able to handle large loads of data if need be.

6. Software should be modern.


- This means software should be up to date with modern conventions and
standards. This can help keep software more secure by adopting up to date security
protocols.

7. Software should be ethical.


- Software must not be used for amoral actions or intentions. This includes many
debated topics such as privacy, the right to be forgotten, and file sharing. Software
should follow a code of ethics.

8. Software should be original.


- This doesn’t mean using open source projects in software is forbidden, but what
is created should be an original work and idea. It should be able to separate itself in
some way from what has already been created.

You might also like