A1

8
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 specific piece of software will 1

Transcript of A1

Page 1: A1

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 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.

1

Page 2: A1

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.

2

Page 3: A1

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.

3

Page 4: A1

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.

Sensor Arrays

Controller

MeteorologicalSystem

EmergencyServices

ControlRoom

VideoMonitors

DatabaseSystem

SensorInformation

InventoryInformation

EmergencyServices Info.

4

Page 5: A1

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.

5