New version page

Toronto CSC 340 - What is Engineering

Documents in this Course
Scoping

Scoping

10 pages

Load more
Upgrade to remove ads

This preview shows page 1-2-23-24 out of 24 pages.

Save
View Full Document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Upgrade to remove ads
Unformatted text preview:

©2004 Steve Easterbrook. DRAFT – PLEASE DO NOT CIRCULATE page 1C H A P T E R 3What is Engineering?In this chapter we explore the context in which requirements engineering takes place.We start with an analysis of engineering itself, and compare the engineering of software-intensive systems with other types of engineering. An engineering discipline captures andcodifies the knowledge and practices needed by engineers to design complex devices. Italso seeks to use experience from past projects so that engineering practice can becontinually improved. To understand how an engineering project forms the context for RE,we need to understand how engineering know-how is applied in a systematic way as aproject unfolds. We will examine two types of model: lifecycle models and process models.Lifecycle models are ecological descriptions of the stages that an engineering project goesthrough, much as we may observe and describe the stages in the lifecycle of a butterfly.As there are a large variety of species of engineering project, so there are a large varietyof lifecycle models. Lifecycle models are useful for comparing project types, but are toosimplistic for the management tasks of measuring and controlling a particular project, andfor assessing where new techniques and tools may be applied. Detailed process modelsaddress this need, and so we will briefly examine the idea of process modeling andimprovement.By the end of the chapter you should be able to:• Define the term engineering, and distinguish engineering from science.• Distinguish between normal design and radical design.• Explain why systems engineering is fundamentally about radical design.• Identify the attributes of software that make software engineering significantlydifferent from engineering of physical devices.• Summarize the basic tenets of an engineering code of ethics.• Evaluate the ethical issues in any given requirements engineering activity.• Describe the ways in which a manager can control an engineering project.• Differentiate between types of engineering project based on the existence (orotherwise) of a customer before and during the project.• Discuss how the idea of a product family affects the way in which requirements areidentified and prioritized.• Critique the use of design considerations arising from reuse of existing componentsto constrain the requirements.• Summarize the strengths and weaknesses of the waterfall model with respect torequirements engineering issues.• Describe the differences between a phased and an iterative development model.• Summarize the key stages in the lifecycle of a requirement.• Contrast process modeling and improvement with agile development and giveexamples of the types of project for which each is appropriate.3.1. EngineeringRequirements Engineering is a collection of activities that only make sense as part of a largerengineering project. The requirements activities will play a significant role in scoping and guidingthe overall project, but the overall project will also constrain and guide the RE activities. As we saw©2004 Steve Easterbrook. DRAFT – PLEASE DO NOT CIRCULATE page 2in the first chapter, there are a huge variety of different kinds of engineering project in which REwill play a role. Later in this chapter, we will examine this variety, so that we can compare differentprojects both in terms of how they are initiated, and how they are organized. Before we get there,we will examine engineering itself.3.1.1. What is Engineering?A typical definition of engineering runs as follows: “Engineering is the development of cost-effective solutions to practical problems, through the application of scientific knowledge”. Severalparts of this definition are important: Cost-effective – engineering involves a consideration of design trade-offs, especially those to dowith resource usage. Cost is often used as a common evaluation criterion in judging whether aparticular engineering solution to a problem is a good one, but good engineering also demands awider definition of cost-effectiveness, involving wise use of all resources, and minimizing anynegative impacts of a particular solution. Solutions – engineering emphasizes the design of solutions, usually tangible artifacts (we willrefer to them as devices for convenience, and we’ll explain this term shortly) Practical problems – the problems that engineers tackle are those that matter to people;engineering has a wider concern with improvements to human life in general, throughtechnological advance. Of course, some engineering solutions to practical problems may turnout to have detrimental effects (on the environment, for example), however, the overall concernof the engineering profession is to make the world a better (or at least more convenient) placefor humankind. Applying scientific knowledge – a key feature that distinguishes engineering from other forms ofdesign (for example, clothing design, furniture design, etc) is the systematic application ofanalytical techniques grounded in science and mathematics, both to analyze the problem, and toguide design choices in creating a solution.Many people believe fail to understand the relationship between science and engineering. Thekey difference lies in the idea of intervention. Scientists seek to understand the world throughobservation and experimentation, but do not seek to change the world. Engineers, on the other hand,seek enough understanding in order to make a change to the world, but do not regard any scientificknowledge that they generate or use in the process as an end in itself. Engineering degreeprogrammes (and the professional bodies that accredit them) enshrine this idea by trying to achievea balance between the teaching of two complementary strands, ‘engineering science’ and‘engineering design’.It is also common amongst scientists to regard engineers as ‘users’ of the knowledge thatscientists create. However, the history of engineering clearly indicates that this is not an accurateview of the relationship between science and engineering. The important ideas used in each of theengineering disciplines were typically discovered and codified as design principles well ahead ofthe corresponding scientific advances. For example, engineers were able to build


View Full Document
Download What is Engineering
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view What is Engineering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view What is Engineering 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?