You are on page 1of 8

Web: the-comin.

com\school

SWEN 4432 – Assignment 1 – Name

Put your answer to each of the questions below immediately after the question.

Chapter 1:

1. Introduction.

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

1
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, stream-lined program that suits the needs of the
customer as well as can be expected from any piece of software.

2
3. What is the difference between a software process model and
software process? Suggest two ways in which a software process
model might be helpful in identifying possible process
improvements

A software process model is specifically that, a model of a software


process. The software process itself is the conceptualization,
development, and maintenance of a software title. One advantage
of utilizing a software process model is when laying the model, the
team developing the title, as well as the possible customers, can
determine if there is any portion of the project that is unnecessary,
and can be eliminated before the project begins. Another major
advantage is determining what concurrent development can take
place, to utilize time more efficiently.

4. Explain why system testing costs are particularly high for generic
software products that are sold to a very wide market?

When developing custom software, the developers will either know


specifically, or have an idea of what hardware systems will be
running, as the customer who is dictating how the software works
will consult with the developers regularly. Generic software has no
specific customer, and thus must be made for systems in a wide
variety of configurations. Due to this, will never know what
configuration of systems the software will run on, and to determine
minimum and recommended requirements, a vast number of
systems in drastically different configurations must be tested in
order to specifically determine which components are necessary,
and which components give significant boosts to performance.

3
Chapter 2:

2. Socio-Technical System.

1. Explain why it is important to produce an overall description of a


system architecture at an early stage in the system specification
process?

With a pictorial representation of how a system will work, it is easier


to identify what sections of a system will work with other sections,
what the layout of design needs to be, where work needs to be
focused on, and can if there are unnecessary redundancies, can
save the developer and customer significant time and money. The
system architecture design can also allow for interfaces to other
systems interoperability with other systems that have been
previously designed, in a manner that does not leave the new
system entirely dependant, but merely operating in parallel with
the previous system. This can alleviate the woes of upgrading core
legacy systems by being able to interface with, rather than rely
upon other systems.

4
2. A flood warning system is to be procured which will give early
warning of possible dangers to sites that are threatened by floods.
The system will include a set of sensors to monitor the rate of
change of the river levels, links to a meteorological system giving
weather forecasts links to communication systems of emergency
services (police, coast guard etc), video monitors installed at
selected locations, and a control room equipped with operator
consoles and video monitors.

Controllers can access database information and switch video


displays. The system database includes information about the
sensors, the location of sites at risk and the threat conditions for
these sites (e.g. high tide, southwesterly winds), tide tables for
coastal sites, the inventory and location of flood control equipment,
contact details for emergency services, local radio stations, and so
on.

Draw a block diagram of a possible architecture of such a system.


You should identify the principal sub-systems and the links between
them.

5
Sensor

6
3. Explain why legacy systems may be critical to the operation of the
business.

Legacy systems are systems relying on old or obsolete hardware


and software, and are considered either too expensive, or risky to
replace, update, or upgrade these systems. When systems are
developed for a specific purpose, with no intention of having other
systems rely on it, they can be designed in such a fashion that the
entire system can be replaced with no problems. When a system is
a core system however, and other systems are developed relying
on the core system, it begins to become more and more difficult to
replace or modify it. When this system is now integral to all parts
concerning it, replacing or modifying it would likely require
modifications to every other system that it supports, which can
keep a business offline for months while upgrades take place.

4. Explain why legacy systems can cause difficulties for companies


that wish to reorganize their business processes?

As stated in the previous question, when systems are inadvertently


linked with other systems that were never designed to interoperate,
they become entangled and if separated, will no longer function.
Without appropriate interface development that can separate
systems from one another, this can and more often than not will
happen as a business grows, and their processes become larger
and larger to a point that they are unwieldy, and need to be
separated for management.

7
8

You might also like