56
CSDP Preparation Course Module I: Business Practices and Engineering Economics

CSDP Preparation Course Module I: Business Practices and Engineering Economics

Embed Size (px)

Citation preview

Page 1: CSDP Preparation Course Module I: Business Practices and Engineering Economics

CSDP Preparation CourseModule I: Business Practices and

Engineering Economics

Page 2: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

2

Specifications

The exam specific topics covered in this module are listed below, and are the basis for the outline of its content.A. Engineering EconomicsB. Ethics C. Professional Practice D. Standards

Page 3: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

3

Objectives

After completing this module, you should be able to…• Explain the problems of developing large software-intensive

systems • Define the term “software crisis”• Consider how economics affects software engineering• Describe the need for software engineering standards• Describe the elements of a profession• Identify legal issues affecting software engineering• List examples of unprofessional practice in software

engineering

Page 4: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

4

Organization

The organization of information for each specification topic is as follows:

• Topic Content Slides - detail the important issues concerning each topic and support the module objectives

• Topic Reference Slides - detail the sources for the topical content and provides additional references for review

• Topic Quiz Slides - allow students to prepare for the exam

Page 5: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

5

Introduction

• “The best thing about software is its flexibility: It can be programmed to do almost anything. The worst thing about software is also its flexibility: The “almost anything” characteristic has made it difficult to plan, monitor, and control software development [Royce, 1998].”

• In 1970, Winston Royce presented a paper titled “Managing the Development of Large Scale Software Systems” at IEEE WESCON, and it was considered a concise summary of software management philosophy at the time [WR98].

Page 6: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

6

Introduction - 2

Increased Complexity

Walker Royce (Winston’s son) indicates the primary points of this paper which describes the waterfall model of software development are:1. Analysis and coding are the common steps to all

software development2. Complex systems require “overhead” steps - system

requirements definition, software requirements definition, program design, and testing

3. The basic framework described in this waterfall model is risky and invites failure [WR98]

Page 7: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

7

Introduction – 3

In Theory • Due to the development risks discussed in point 3, five

necessary improvements were originally recommended in the paper for the waterfall model approach to work. 1. Complete program design before analysis and coding

begin.2. Maintain current and complete documentation.3. Do the job twice, if possible.4. Plan, control, and monitor testing.5. Involve the customer [WR98].

Page 8: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

8

Introduction – 4

In Practice• Royce summarizes the characteristics of the conventional

process as applied, are not what was intended. 1. Protracted integration and late design breakage2. Late risk resolution3. Requirements-driven functional decomposition4. Adversarial stakeholder relationships5. Focus on documents and review meetings [WR98]

Page 9: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

9

Introduction – 5

The State of Software Engineering• Walker Royce summarized the conclusions made by some

prominent analyses of the state of software engineering during the mid 1990’s. They are:• Software development is still highly unpredictable. • Management discipline is more of a discriminator in

success or failure than are technology advances.• The level of software scrap and rework is indicative of an

immature process. • As the trend of ever increasing system complexity began to

overwhelm the non ideal software management practices (read the misapplied waterfall model of management), a “software crisis” has ensued.

Page 10: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

10

Introduction – 6

The Software Crisis

Original Definition• A software crisis is an event that causes delay in delivering a

software-intensive system due to delay in the software project schedule, causes the project to overrun its budget, or cause the delivered system to not meet its requirements

• Or as the term is used today, a crisis may occur when it appears that a software system cannot be delivered on time, or within budget, or meet the users’ and customer’s requirements

A New Definition• A software industry’s inability to deliver products fast enough

to meet customer demand has been called “the software crisis.” This “crisis” is characterized by a multiyear backlog of unfulfilled software requests. [ST97]

Page 11: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

11

Introduction – 7

Crisis Case Example:• Denver’s new (1994) international airport, at twice the size of

Manhattan and 10 times the breadth of Heathrow, has a complex subterranean baggage-handling system:• 21 miles of steel track • 4,000 independent “telecars” routing and delivering

luggage between counter, gate, and claim areas of 20 different airlines

• A system of some 100 networked computers, 5,000 electric eyes, 400 radio receivers and 56 bar code scanners

• The opening of the airport was delayed over 9 months at a rate of $1.1 million a day in interest and operating costs [WG94]

Page 12: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

12

Introduction – 8

What causes the crisis? - I• Software requirements do not adequately describe the user’s

needs or customer’s expectations • Project planning is frequently unrealistic, incomplete or

ignored • Project cost and schedule estimates are woefully

underestimated or established by managerial edict • Software quality is difficult to specify, design, and build-to

and is usually ignored [RT04, p. 2-11]

Page 13: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

13

Introduction – 9

What causes the crisis? - II• Since little visibility of progress in software development

exists, that progress is generally unknown • Changes in requirements are not met with appropriate

changes in software plans • Design is changed without changing the requirements• Standards are neither documented or used [RT04, p. 2-12]

Page 14: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

14

Introduction – 10

• Software Engineering is the Solution

What is software?

Software -- Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. Contrast with hardware. [IE610]

Page 15: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

15

Introduction – 11

What is Engineering?• Engineering is concerned with applying science and

technology to develop products for use by society within the constraints of:

– Time - schedule – Resources – budget, personnel, machines, facilities, etc.– Technology – platform and domain – Quality – safety, security, reliability, etc.– Business – profit, stability, and growth – Ethics – serving society

• Science is concerned with understanding phenomenon; Engineering is concerned with applying science [RT04, p. 2-15]

Page 16: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

16

Introduction – 12

What is Software Engineering?• The practical application of computer science, management

techniques, and other skills to the design, construction, and maintenance of software and its associated documents

• The systematic application of methods, tools, and techniques to achieve a stated requirement or objective for a software system

• The application of system engineering to software development

• Introduces an engineering discipline to software development to solve a or reduce the problems of late delivery, cost overruns, and failure to meet the requirements

• A means of communicating between stakeholders [RT04, p. 2-16]

Page 17: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

17

Introduction References

• [IE610] IEEE Std 610.12-1990, Standard Glossary of Software Engineering Terminology

• [IS01] Sommerville, Ian, Software Engineering, 6th Edition, Addison-Wesley, NY, 2001

• [RT04] Thayer, Richard, 2004 Certified Software Development Professional (CSDP) Preparation Course, Chapter 2: Software Engineering and Society

• [ST97] Tockey, Steve, “A Missing Link in Software Engineering,” IEEE Software, November/December 1997

• [WR98] Royce, Walker, Software Project Management: A Unified Framework, Addison-Wesley, 1998, pp. 5-17

• [WG94] Gibbs, W. Wyatt, “Software’s Chronic Crisis,” Scientific American, September 1994

Page 18: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

18

A. Engineering Economics

Engineering Economics - I

• Economics is defined as the study of how people make decisions in resource-limited situations• There is never enough money to cover all of the good

features we would like in our software product

Page 19: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

19

A. Engineering Economics – 2

Engineering Economics - II

• Some issues of software engineering economics:• The outcome of a software development is not

guaranteed (the cost can be wasted)• Economic decisions must be made in areas of

uncertainty• Risk analysis and risk avoidance costs money, and may

not be needed• The cost effectiveness of software engineering tools and

methods is largely unknown [RT02, p. 2-22]

Page 20: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

20

A. Engineering Economics – 3

Economic Data – I

Macro-economics• The field of software engineering supports a commercial

software sector that earns $200 billion to $240 billion in the United States every year. Software engineering drove $1 trillion of economic growth in the U.S. over the last decade.

Page 21: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

21

A. Engineering Economics – 4

Economic Data – II

Micro-economics• About half of all software projects are cancelled by users

who change their minds, whether or not the software engineers would have succeeded.

• Maintenance: Most (70% or more) software engineering effort over the total lifetime of a system goes into maintenance and upgrades.

• Delivery: In the course of taking a large software project from conception to end user acceptance (and actual use) the cost of developing the software will typically range from 20-30% of the total. Commercial developers write 12,000 lines of code per year.• Government developers write 1,500 lines of code per

year. [Wikipedia, the free encyclopedia]

Page 22: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

22

A. Engineering Economics – 5

Economics Considerations for Software Engineering

• Interest – The decision to carry out a software project should be based, at least partly, on the cost of financing it

• Economic equivalence – The principle of economic equivalence allows different cash flow situations (and thus different software project proposals) to be converted into common terms so they may be reasonably compared and logical conclusions can be drawn about their real economic differences

• Inflation and deflation – The change in the purchasing power of money over time

• Deciding among alternatives – Engineering economics provides a set of analytical processes for identifying the most cost-effective proposal in a set of (presumably technically feasible) alternatives [RT04, p. 2-23]

Page 23: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

23

A. Engineering Economics – 6

Additional Economic Considerations• Value of assets -- What is the economic value of a software

system?• Evaluating replacements – What is the economic cost of a

replacement for an asset?• Income taxes – These are essentially the price paid for

government services. An income tax is based on the net profit (revenue minus expenditures) for an enterprise

• Break-even and optimization – Break-even analysis can be used to choose between multiple design options when the cost of those options is a function of one or more variables

• Estimates, risk, and uncertainty – Because estimates are little more than educated guesses, there is always a non-zero probability that the estimates will be wrong [ST97]

Page 24: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

24

A. Engineering Economics – 7

Other Effects on Software Engineering

• The cost of developing a software system• The cost of software maintenance• The cost of staff-months to total software costs• The cost of rework• The cost of risk mitigation• The reduction of cost caused by improved software

development processes• The return on investment (ROI) for new software

development methods [RT04, p. 2-25]

Page 25: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

25

A. Engineering Economics – 8

• Royce makes three key points on improving software economics:• Modern software technology is enabling systems to be

built with fewer human-generated source lines• Modern software processes are iterative• Modern software development and maintenance

environments are the delivery mechanism for process automation [WR98, p. 31]

Page 26: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

26

A. Engineering Economics – 9

The Table on the following slide lists five fundamental cost parameters that software development organizations must manage to control development costs. [WR98, p. 32]

Page 27: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

27

A. Engineering Economics – 10

Cost Model Parameters TRENDS

Size – Abstraction and component based development technologies

Higher order languages, Object-orientation, Reuse, Commercial components

Process – Methods and techniques

Iterative development, Process maturity models, Architecture-first development

Personnel – People factors Training and personnel skill development, Teamwork, Win-win cultures

Environment – Automation technologies and tools

Integrated tools, Open systems, Hardware platform performance, Automation of coding, documents, testing and analysis

Quality – Performance, reliability, accuracy

Hardware platform performance, Demonstration-based assessment, Statistical quality control

Page 28: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

28

A. References

• [RT04] Thayer, Richard, 2004 Certified Software Development Professional (CSDP) Preparation Course, Chapter 2: Software Engineering and Society

• [ST97] Tockey, Steve, “A missing Link in Software Engineering,” IEEE Software, Nov/Dec 1997

• [WR98] Royce, Walker, Software Project Management: A Unified Framework, Addison-Wesley, 1998, pp. 21-51

• [Wikipedia, The Free Encyclopedia] http://en.wikipedia.org/wiki/Software_engineering_economics

Page 29: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

29

A. Quiz

1. What percentage of software programs in modern practices is attributed to component based builds versus custom builds?

A. 10% component-based / 90% custom

B. 30% component-based / 70% custom

C. 70% component-based / 30% custom

D. 90% component-based / 10% custom

Page 30: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

30

B. Ethics

Code of Ethics \ Principles - I• Software engineers shall commit themselves to making the

analysis, specification, design, development, testing, and maintenance of software a beneficial and respected profession [RT04, p. 2-33]

• In accordance with their commitment to the health, safety, and welfare of the public, software engineers shall adhere to the following Eight Principles:

1. Public – Software engineers shall act consistently with the public interest

2. Client and employer – Software engineers shall act in a manner that is in the best interest of their client and employer, and consistent with the public interest

Page 31: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

31

B. Ethics – 2

Code of Ethics \ Principles - II

3. Product – Software engineers shall ensure that their products and related modifications meet the highest professional standards possible

4. Judgment – Software engineers shall maintain integrity and independence in their professional judgment

5. Management – Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance

6. Profession – Software engineers shall advance the integrity and reputation of the profession, consistent with the public interest

Page 32: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

32

B. Ethics – 3

Code of Ethics \ Principles - III

7. Colleagues – Software engineers shall be fair to and supportive of their colleagues

8. Self – Software engineers shall practice in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession [IS01]

Page 33: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

33

B. Ethics – 4

Ethics Versus the Law – I

• Ethics are a personal code of behavior. They represent an ideal we strive toward because we presume that to achieve ethical behavior is appropriate, honorable, and desirable both on a personal level and within the groups we belong to.

• Ethics can also represent an interim standard of behavior that will be replaced, to some extent, by laws when new technology comes into existence.

• Ethics can contrast with law. The law is a minimum standard of conduct imposed by society.

Page 34: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

34

B. Ethics – 5

Ethics Versus the Law – II

• In a democratic society, the law represents the will of the majority. Violation of the law subjects the violator to punishment by the government.

• Ethics, on the other hand, are merely suggested, not mandated. They may be considered a maximum standard of conduct desired by society. Violation can result in a malpractice suit. [KD96]

Page 35: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

35

B. References

• [IS01] Sommerville, Ian, Software Engineering, 6th Edition, Addison-Wesley, 2001, pp. 14-17

• [KD96] Dakin, Karl, “Are Developers Morally Challenged?”, IEEE Software, July 1996, pp. 51-57

• [RT04] Thayer, Richard, 2004 Certified Software Development Professional (CSDP) Preparation Course, Chapter 2: Software Engineering and Society

Page 36: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

36

B. Quiz

1.  The IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practice allows you to accept a position for which you have no pertinent training or experience if:

I.    The extent of your limitations are fully disclosed.II.    Appropriate training in the pertinent area is taken concurrently.III.    The position is in a field where engineering decisions are well known.IV.    No conflict of interest is present.

[a] I only[b] I and II only[c] I, II, and III only[d] I, II, III, and IV

Page 37: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

37

B. Quiz – 2

2. The most common approach to software development today according to Steve McConnell and Leonard L. Tripp is

a) Waterfall approach

b) Spiral approach

c) Iterative approach

d) Code and Fix programming - Hacking

Page 38: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

38

B. Quiz – 3

3. A professional code of ethics actually need to address how many levels of obligation

A. 4

B. 3

C. 2

D. 1

Page 39: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

39

B. Quiz – 4

4. What is the order of the three levels of Obligation of Professional code of ethics?

A. Each Profession, Professionalism, Humanity

B. Professionalism, Each Profession, Humanity

C. Humanity, Professionalism, Each Profession

D. None of the above

Page 40: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

40

B. Quiz – 5

5. What are the two distinct approaches to code of ethics?

A. Virtue ethics and rights/obligations ethics

B. Short Version and Long Version code of ethics

C. Minimum detail Code approach and Detailed Code approach

D. All the above

Page 41: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

41

B. Quiz – 6

6. How many principles are there in the code of ethics?

A. 2

B. 4

C. 6

D. 8

Page 42: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

42

B. Quiz – 7

7. What is central to the code of ethics?

A. Loyal to the employer

B. Loyal to the profession

C. Public interest

D. All the above

Page 43: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

43

C. Professional Practice

Elements of a Profession

• Initial professional education – Generally a university education accredited by an overseeing body

• Skills development – Software engineers need a minimum of six years of work experience

• Certification – Passing a certifying exam• Professional development – Ongoing professional education

to maintain/improve an individual’s knowledge• Professional societies – An organization of discipline

oriented individuals• Code of ethics – A measure to see that individual

practitioners behave responsibly

[McConnell and Tripp, 1999]

Page 44: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

44

C. Professional Practice – 2

Legal Issues• Copyright use and violation• Software patents• Confidentiality (Protection) of data• Protection of intellectual properties• Ownership of computer programs• Ethics in competition• Non-disclosure agreements• Personal use of company property• Vandalism, illegal hacking, and viruses [RT04, p. 2-38]

Page 45: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

45

C. Professional Practice – 3

Have you ever…• Operated a computer program without first reading the terms

and conditions of the license agreements?• Downloaded a computer program from a disk or the internet

without verifying program ownership?• Written a program that contained code created by other

computer programmers without obtaining authorization?• Held up delivery of code or documentation to improve your

bargaining position in your employment or a contract?• Rewritten someone’s utility, program, or system and claimed

the end result as your own?• Taken a copy of source code when you left a job?• Copied a software package for your own use without paying

royalties?[Dakin, 1996]

Page 46: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

46

C. References

• [Dakin, 1996] Dakin, Karl, “Are Developers Morally Challenged?”, IEEE Software, July 1996, pp. 20-22

• [McConnell and Tripp, 1999] McConnell, Steve and Tripp, Leonard, “Professional Soft2ware Engineering: Fact or Fiction?”, IEEE Software, November / December 1999, pp. 13-18

• [RT04] Thayer, Richard, 2004 Certified Software Development Professional (CSDP) Preparation Course, Chapter 2: Software Engineering and Society

Page 47: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

47

C. Quiz

1. What are the minimum number of years a software engineer must work at skills development before being certified via a professional certification exam?

A. 0 years

B. 2 years

C. 6 years

D. 10 years

Page 48: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

48

D. Standards

What Are They?

• Definition: A standard can be (1) an object or measure of comparison that defines or represents the magnitude of a unit

• (2) a characterization that establishes allowable tolerances or constraints for categories of items: and

• (3) a degree or level of required excellence or attainment. Standards are definitional in nature, established either to further understanding and interaction, or to acknowledge observed ( or desired norms) of exhibited characteristics or behavior [SESC93]

• Importance of Software Engineering Standards – Improving the product – Protecting the buyer – Protecting the business – Increasing Professional Discipline – Introducing Technology

Page 49: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

49

D. Standards – 2

Roles of Software Engineering Standards• Naming: A standard can provide a succinct name for a

complicated concept. • Best Practices: Sometimes organizations want to adopt

software development practices that are agreed by the community to represent “best of breed”.

• Badging :Organizations need a way to assert that their institutional practices conform to a constellation of best principles and practices.[Moore95]

• Contractual Agreement: In a complex information technology procurement, it is helpful and efficient to decouple complex technological issues from the business aspects of the agreement.

Page 50: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

50

D. Standards – 3

Organization Goals for Using Software Engineering Standards• Improve and Evaluate Software Competency• Provide Framework and Terminology for Two-Party

Agreements• Evaluate Products of Software Engineering Activities• Assure High Integrity levels of Software

Page 51: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

51

D. Standards – 4

Improve and Evaluate Software Competency• Quality: Analyze trends in product and process quality for

software organizations• Customer Satisfaction: Measure the extent to which

software satisfies• Cycle Time and Productivity: Track progress toward goals

for software cycle time and productivity improvement• Process Maturity: Assess progress relative to industry

standard process benchmarks• Technology: Assess the application of technology within the

organization

Page 52: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

52

D. Standards – 5

Provide Framework and Terminology for Two-Party Agreements

• Acquisition Process: Provide the essential actions and criteria to be used by an organization in planning and executing an acquisition for software or software-related services

• Supply Process: Provide the essential actions and criteria to be used by an organization in supplying software or software-related services to an acquirer.

• Life Cycle Process: Provide the process requirements to be met during the life cycle of software or systems containing software

• Life Cycle Deliverables: Provide the requirements for information to be passed between the supplier and the acquirer during the performance of software life cycle processes.

Page 53: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

53

D. Standards – 6

Evaluate Products of Software Engineering Activities• External Measurements: Measurements of completed

software products to evaluate the achievement of development goals

• Internal Measurements: Measurement of incomplete software artifacts and development processes to provide early indicators of the achievement of development goals

Page 54: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

54

D. Standards – 7

Assure High Integrity levels of Software• Planning: A framework to determine that appropriate

resources and appropriate controls are provided to ensure treatment of concerns of criticality

• Achievement: Provisions for ensuring that critical requirements for safety and dependability are appropriately treated throughout the providing of the software service

• Assessment: Verifiable measurement of the extent to which criticality goals have been achieved.

Page 55: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

55

D. References

• Software Engineering Standards by James W. Moore• [Brobeck96] Stephen Brobeck “ Consumer Participation in

standards development,” ANSI reporter, Dec 1996, pp5-6.• [Jones95] Capers Jones “Legal Status of Software

Engineering”, Computer VOL 28 No 5 May 1995, pp98-99• [Moore95] James W Moore and Roy Rada, “Organizational

Badge Collecting,” Comm. ACM Aug 1996 pp17-21• [Peach94] Robert W. Peach, ed., The ISO 9000 handbook

2nd ed, CEEM Information Services, Fairfax, VA, 1994.• [SESC93] SESC Long Range Planning Group, Master plan

for Software Engineering Standards, Version 1.0, Dec 1, 1993

Page 56: CSDP Preparation Course Module I: Business Practices and Engineering Economics

Module I. Business Practices and Engineering Economics

56

D. Quiz

Which of the following layers for a set of ISO 9000 standards is considered most fundamental: Terminology, Principles, Application Guides, or Techniques?

A. Terminology

B. Principles

C. Application Guides

D. Techniques