Unformatted text preview:

2004 Steve Easterbrook DRAFT PLEASE DO NOT CIRCULATE page 1 C H A PTER 3 What 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 softwareintensive systems with other types of engineering An engineering discipline captures and codifies the knowledge and practices needed by engineers to design complex devices It also seeks to use experience from past projects so that engineering practice can be continually 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 a project 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 goes through 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 variety of lifecycle models Lifecycle models are useful for comparing project types but are too simplistic for the management tasks of measuring and controlling a particular project and for assessing where new techniques and tools may be applied Detailed process models address this need and so we will briefly examine the idea of process modeling and improvement 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 significantly different 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 or otherwise of a customer before and during the project Discuss how the idea of a product family affects the way in which requirements are identified and prioritized Critique the use of design considerations arising from reuse of existing components to constrain the requirements Summarize the strengths and weaknesses of the waterfall model with respect to requirements 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 give examples of the types of project for which each is appropriate 3 1 Engineering Requirements Engineering is a collection of activities that only make sense as part of a larger engineering project The requirements activities will play a significant role in scoping and guiding the 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 2 in the first chapter there are a huge variety of different kinds of engineering project in which RE will play a role Later in this chapter we will examine this variety so that we can compare different projects 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 costeffective solutions to practical problems through the application of scientific knowledge Several parts of this definition are important Cost effective engineering involves a consideration of design trade offs especially those to do with resource usage Cost is often used as a common evaluation criterion in judging whether a particular engineering solution to a problem is a good one but good engineering also demands a wider definition of cost effectiveness involving wise use of all resources and minimizing any negative impacts of a particular solution Solutions engineering emphasizes the design of solutions usually tangible artifacts we will refer 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 through technological advance Of course some engineering solutions to practical problems may turn out to have detrimental effects on the environment for example however the overall concern of the engineering profession is to make the world a better or at least more convenient place for humankind Applying scientific knowledge a key feature that distinguishes engineering from other forms of design for example clothing design furniture design etc is the systematic application of analytical techniques grounded in science and mathematics both to analyze the problem and to guide design choices in creating a solution Many people believe fail to understand the relationship between science and engineering The key difference lies in the idea of intervention Scientists seek to understand the world through observation 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 scientific knowledge that they generate or use in the process as an end in itself Engineering degree programmes and the professional bodies that accredit them enshrine this idea by trying to achieve a 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 that scientists create However the history of engineering clearly indicates that this is not an accurate view of the relationship between science and engineering The important ideas used in each of the engineering disciplines were typically discovered and codified as design principles well ahead of the corresponding scientific advances For example engineers were able to build reliable and cost effective bridges long before science was ever able to provide a complete analysis of the materials and forces involved in bridge building Engineers develop and validate theories in much the same way that scientists do and indeed each design that an engineer creates is in itself a theory about


View Full Document

Toronto CSC 340 - What is Engineering

Documents in this Course
Scoping

Scoping

10 pages

Load more
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 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?