Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software...

33

Transcript of Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software...

Page 1: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some
Page 2: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 2

Today’s Lecture1. Intro to Software Engineering2. Inexact quantities3. Error propagation4. Floating-point numbers5. Design process6. Teamwork7. Project planning8. Decision making9. Professional Engineering10. Software quality - no web review11. Software safety12. Intellectual property

Page 3: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 3

Approaches to Software Quality

• Focus on the product

• Focus on the process to build the product

• Focus on the people who build the product–Software engineering education–Licensing of software engineers

Page 4: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 4

SE Education

In Canada,

• Engineering programs are accredited by the CanadianEngineering Accreditation Board (CEAB) - a board of theCanadian Council of Professional Engineers (CCPE).

• Computer science programs are accredited by theComputer Science Accreditation Board (CSAC) - anautonomous body of the Computer InformationProcessing Society (CIPS).

Page 5: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 5

SE EducationCEAB criteria• 0.5 years of mathematics• 0.5 years of basic (natural) sciences• 2.0 years of engineering sciences and design• 0.6 years of complementary studies (incl. engineering economics)

CSAC criteria• 1.5 years of computer science/computer engineering• 0.5 years of mathematics/statistics• 1.0 years of subjects outside of computing and math

UW SE curriculum• 1.6 computer science/computer engineering• 0.8 software engineering• 0.5 years of mathematics/statistics• 0.5 years of natural sciences (2 physics + general electives)• 0.6 complementary studies

Page 6: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 6

Licensing vs. Certification

• The general purpose of certification and licensingis to verify and provide assurances about thecompetency of those being certified/licensed.

• Provincial and state governments mandate thelicensing of certain professionals who are legallyrequired to practice at a level consistent with publicsafety (doctors, lawyers, professional engineers).

Page 7: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 7

Licensing vs. Certification

• A professional society may voluntarily operate acertification program to authenticate practitioners’competency and to inspire public confidence in theprofession.

CIPS Information Systems Professional (I.S.P.)IEEE Software Engineering Certification

• Some software companies offer product- or vendor-specific certifications that assess a user’s proficiency inusing the company’s products.

Page 8: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 8

Professional Engineers (P.Eng.)

In Ontario, any practising engineer must be licensed asa P.Eng.

Anyone who practises engineering without a license ora temporary license is guilty of an offense and may befined. Most provinces define “engineering” by practice (whatan engineer does) rather than by title

Page 9: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 9

Professional Engineers Act

In Ontario, the practice of professional engineeringis defined in the Professional Engineers Act andcomprises three tests:

1. Any act of designing, composing, evaluating,advising, reporting, directing or supervising

2. Wherein the safeguarding of life, health,property or the public welfare is concerned

3. Requires the application of engineeringprinciples, but does not include practising as anatural scientist.

Professional Engineers Act, Revised Statutes of Ontario, 1990, Chapter P.28

Page 10: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 10

Professional Engineers (P.E.) in U.S.

Licensing is mandatory for any professional who• Offers engineering services directly to the public• Participates in the design of facilities, roads, etc.,where drawings must be submitted to state agencies forapproval

Most engineers are not licensed in the States:• They work for a company or the federal government.• Their practice is limited to company/government work.• They do not use the engineering title outside of work.• They do not sell services to another party.

Page 11: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 11

Enforcement Varies

The PEO does not have the resources to enforce thelicensing of every practicing engineer

Licensing (and enforcement) is most prevalent amongcivil engineers — for reasons that would affectsoftware engineers

• They deal with government employees• They sell their services directly to the public

Neither of whom can be expected to assess quality ofthe engineer’s products or processes

Page 12: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 12

P.Eng. Application Process

CEAB degreeCEAB-equivalent

degreeTechnologist or

equivalent degree

ConfirmatoryExams

4 Years acceptableWork Experience

4 Basic Studies8-12 AdvancedExaminations

10 Years acceptableWork Experience

Professional Practice Examination

Page 13: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 13

P.Eng. Application Process

CEAB degreeCEAB-equivalent

degreeTechnologist or

equivalent degree

ConfirmatoryExams

4 Years acceptableWork Experience

4 Basic Studies8-12 AdvancedExaminations

10 Years acceptableWork Experience

Professional Practice Examination

Page 14: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 14

P.Eng. Application Process

CEAB degreeCEAB-equivalent

degreeTechnologist or

equivalent degree

ConfirmatoryExams

4 Years acceptableWork Experience

4 Basic Studies8-12 AdvancedExaminations

10 Years acceptableWork Experience

Professional Practice Examination

Page 15: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 15

Work Experience

Nascent professionals need to practice applying theirknowledge before they are prepared to take primaryresponsibility for performing work in their field.

P.Eng. (Canada) - 4 years engineering experience*

• In the same field of engineering as your education• In Canada, under the supervision of a P.Eng. (1 year)• After graduation (3 years)• Up to one year credit for post-graduate studies• Up to one year credit for co-op work

*Assuming you graduate from an accredited engineering program

Page 16: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 16

P.Eng. Application Process

CEAB degreeCEAB-equivalent

degreeTechnologist or

equivalent degree

ConfirmatoryExams

4 Years acceptableWork Experience

4 Basic Studies8-12 AdvancedExaminations

10 Years acceptableWork Experience

Professional Practice Examination

Page 17: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 17

P.Eng. Application Process

CEAB degreeCEAB-equivalent

degreeTechnologist or

equivalent degree

ConfirmatoryExams

4 Years acceptableWork Experience

4 Basic Studies8-12 AdvancedExaminations

10 Years acceptableWork Experience

Professional Practice Examination

Page 18: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 18

P.E. Application Process (U.S.)

Degree from an accredited university or college

Fundamentals of EngineeringExam

4 years Engineering Experience

6 Letters of Recommendation(4 from PEs)

Specialization Exam

ABET Degree

8 years of Engineering Experience

Page 19: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 19

P.E. Application Process (U.S.)

Fundamentals of Engineering Exam covers materialbased on the first two years of an ABET accreditedprogram:

Chemistry, Computers, Dynamics, Electrical circuits,Engineering economics, Ethics, Fluid mechanics, Materialscience, Mathematics, Mechanics of materials, Statics,Thermodynamics

Discipline Specific Examination covers material basedon the last two years of an ABET accredited program:

• Five disciplines: civil, chemical, industrial, mechanical,electrical• One non-specific: covers the same material as the generalexam, but in more depth

Page 20: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 20

P.E. Application Process (U.S.)

Degree from an accredited university or college

Fundamentals of EngineeringExam

4 years Engineering Experience

6 Letters of Recommendation(4 from PEs)

Specialization Exam

ABET Degree

8 years of Engineering Experience

Page 21: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 21

I.S.P. Certification Process

CIPS accrediteduniversity degree

Non-accrediteduniversity degree

I.S.P. Certification

CIPS-accreditedcollege degree

Non-accreditedcollege degree

ICCPexam

2-3 Years IT Experience

4-5 YearsIT Experience

3-4 Years IT Experience

6-7 Years IT Experience

5 Years IT Experience

300 educationcredit hours

60% experienceis IT-related

Re-certificationEvery 3 years

Page 22: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 22

University degree or equivalent

Subscribe to and sign the IEEE-CS/ACM Software EngineeringCode of Ethics and Professional Practice

Certified Software Development Professional

9000 hours of software-engineering education or experiencein at least 6 of 11 SE knowledge areas

2 years of SE experience within the past 4 years

30 professional development units

Re-certificationevery 3 years

CSDP Exam

Certified Software Development Prof.

Page 23: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 23

IPREDICT

• Within your professional lifetime, thedevelopment of some software systems will berestricted to P.Eng.s who are competent topractice software engineering.

- safety-critical software- software components in engineered products- software that models or controls the physical world

• Licensing of software engineers will become serious only when the public demands it

- possibly after the catestrophic failure of some software system

Long-term Forecast

Page 24: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Any questions about accreditation,certification, or licensing?

Page 25: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 25

Code of Ethics

A code of ethics describes the ethical and professionalobligations against which peers, the public, and legalbodies can measure a [professional’s] behaviour.

• Stimulates ethical conduct

• Provides support against unethical behaviour

• Inspires public confidence in the profession

• Serves as a formal basis for disciplining professionals

Don Gotterbarn, “How the New Software Engineering Code of Ethics Affects You”, IEEE Software, November/December 1999

Page 26: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 26

Code of Ethics

• Basic rules of integrity and fairness(e.g., “loyalty to the practitioner’s associates, employers,clients, subordinates, and employees.”)

• Professional rules of responsibility to those they serve(e.g., “disclose immediately to the practitioner’s client anyinterest … that might be construed as prejudicial … to theprofessional judgment of the practitioner… .”)

• Profession-specific rules that designate best practices(e.g., “ensure adequate testing, debugging, and review ofsoftware and related documents”)

Page 27: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 27

Code of Ethics

PEO Code of Ethics• duty to society• duty to employer(s)• duty to clients• duty to colleagues, employees• duty to engineering profession• duty to oneself

PEO Professional Misconduct• negligence• harassment• failure to safeguard the safety,health, or property of user• failure to comply with statutes,regulations, standards, rules, etc.• signing or sealing document thatprofessional did not prepare orcheck

• failure to disclose conflict ofinterest• performing task outside one’sarea of expertise

Page 28: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 28

Code of Ethics

ACM/IEEE Software Engineering Code of Ethics andProfessional Practice• duty to public• duty to client and employer• duty to meet highest standards• duty to maintain integrity and and independence in judgment• duty to ethical management• duty to profession• duty to colleagues• duty to self

Page 29: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 29

Professional DevelopmentOn-going professional education maintains or improvespractitioners’ knowledge and skills after they beginprofessional practice.

• Canadian Society for Electrical and ComputerEngineering (CSECE)

• Association for Computing Machinery (ACM)Communications of the ACM

• Institute for Electrical and Electronic Engineers (IEEE)IEEE SoftwareIEEE Computer

Page 30: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 30

IEEE Technical SocietiesIEEE Intelligent Transportation Systems CouncilIEEE Instrumentation and Measurement SocietyIEEE Lasers & Electro-Optics SocietyIEEE Magnetics SocietyIEEE Microwave Theory and Techniques SocietyIEEE Nanotechnology CouncilIEEE Nuclear and Plasma Sciences SocietyIEEE Oceanic Engineering SocietyIEEE Power Electronics SocietyIEEE Power Engineering SocietyIEEE Product Safety Engineering SocietyIEEE Professional Communication SocietyIEEE Reliability SocietyIEEE Robotics & Automation SocietyIEEE Sensors CouncilIEEE Signal Processing SocietyIEEE Society on Social Implications of TechnologyIEEE Solid-State Circuits SocietyIEEE Systems, Man, and Cybernetics SocietyIEEE Ultrasonics, Ferroelectrics, and Frequency Control SocietyIEEE Vehicular Technology Society

IEEE Aerospace and Electronic Systems SocietyIEEE Antennas and Propagation SocietyIEEE Broadcast Technology SocietyIEEE Circuits and Systems SocietyIEEE Communications SocietyIEEE Components Packaging, and Manufacturing Technology SocietyIEEE Computational Intelligence SocietyIEEE Computer SocietyIEEE Consumer Electronics SocietyIEEE Control Systems SocietyIEEE Council on SuperConductivityIEEE Dielectrics and Electrical Insulation SocietyIEEE Education SocietyIEEE Electromagnetic Compatibility SocietyIEEE Electron Devices SocietyIEEE Engineering Management SocietyIEEE Engineering in Medicine and Biology SocietyIEEE Geoscience & Remote Sensing SocietyIEEE Industrial Electronics SocietyIEEE Industry Applications SocietyIEEE Information Theory Society

Page 31: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 31

IEEE Computer PublicationsComputing in Science & EngineeringIEEE Annals of the History of ComputingIEEE ComputerIEEE Computer Graphics & ApplicationsIEEE Design & Test of ComputersIEEE Intelligent SystemsIEEE Internet ComputingIEEE MicroIEEE MultiMediaIEEE Pervasive ComputingIEEE Security & PrivacyIEEE SoftwareIT Professional

IEEE Transactions on ComputersIEEE/ACM Transactions on Computational Biology & BioinformaticsIEEE Transactions on Dependable & Secure ComputingIEEE Transactions on Information Technology in BiomedicineIEEE Transactions on Knowledge and Data EngineeringIEEE Transactions on Mobile ComputingIEEE Transactions on MultimediaIEEE Transactions on NanobioscienceIEEE Transactions on NetworkingIEEE Transactions on Parallel and Distributed SystemsIEEE Transactions on Patterns Analysis and Machine IntelligenceIEEE Transactions on Software EngineeringIEEE Transactions on Very Large Scale Integration (VLSI) SystemsIEEE Transactions on Visualization and Computer GraphicsIEEE Transactions on Networking

Page 32: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 32

Summary

Present

Future

Canada

U.S.

Lic

ensi

ng v

s. C

ertif

icat

ion

Aca

dem

ics

Exp

erie

nce

Prof

essi

onal

Sof

twar

e E

ngin

eeri

ngC

ode

of E

thic

sPr

ofes

sion

al

Dev

elop

men

t

Page 33: Today’s Lecture - SCS | UWse101/Profession.pdf · Fall 2004 SE 101 Introduction to Software Engineering 23 I PREDICT • Within your professional lifetime, the development of some

Fall 2004 SE 101 Introduction to Software Engineering 33

Announcements

Simulator Code due tomorrow by 4:30 (electronic submission)

Robot Demonstrations and Races in lab on Thursday

Simulation Demonstrations Thursday and Friday

Reduced Office Hours on Thursday (due to Simulation Demos)