Is software engineering engineering?

28 slides
1.32 MB

Similar Presentations

Presentation Transcript


The Software Engineering Profession SWENET Module April 2004 Developed with support from the National Science Foundation


OverviewWhat is an engineering profession? What does take to be a software engineer? (i.e. a good one!) What is the role of professional conduct and professional practice in software engineering? Ariane 5 Case Study Exercise


A ProfessionWhat is a profession? What is a professional? What is professional practice? What are the key features of a profession? profession an occupation requiring special education (especially in the liberal arts or sciences) the body of people in a learned occupation professional: (1) an authority qualified to teach apprentices (2) a person engaged in one of the learned professions source:


Evolution of an Engineering Profession[Shaw 1990]


Example: Civil Engineering[Shaw 1990]


Evolution of Software Engineering[Shaw 1990]


Ford-Gibbs Model 1In 1996, Gary Ford and Norm Gibbs, of the SEI, published a report on the software engineering profession [Ford 1996]. In the report they devised a framework for defining and assessing a profession. The below table and the next slide outline this framework.


Ford-Gibbs Model 2[Ford 1996]


Initial Professional EducationUndergraduate programs for SE education: B.S. Computer Engineering B.S. Computer Science B.S. Electrical Engineering B.S. Software Engineering 20+ U.S. programs 4 ABET accredited programs


AccreditationAccreditation is a designation that an organization or business has met a combination of standards and abilities that are put in place for public safety, welfare and confidence. Colleges and Hospitals are accredited. Hospitals are accredited. People are not accredited. People may be certified or licensed. Curriculum guidance and accreditation standards and criteria are provided by a number of accreditation organizations across a variety of nations and regions: Accreditation Board for Engineering and Technology (ABET ( British Computer Society (BCS) ( Canadian Engineering Accreditation Board (CEAB ( ) Japan Accreditation Board for Engineering (JABEE) (


ABET SE CriteriaPROGRAM CRITERIA FOR SOFTWARE AND SIMILARLY NAMED ENGINEERING PROGRAMS Submitted by The Institute of Electrical and Electronics Engineers, Inc. These program criteria apply to engineering programs which include software or similar modifiers in their titles. 1. Curriculum The curriculum must provide both breadth and depth across the range of engineering and computer science topics implied by the title and objectives of the program. The program must demonstrate that graduates have: the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer science and supporting disciplines to complex software systems; and the ability to work in one or more significant application domains.


ABET General CriteriaCriterion 4 for all engineering programs states (in part): “Students must be prepared for engineering practice through the curriculum culminating in a major design experience based on the knowledge and skills acquired in earlier course work and incorporating engineering standards and realistic constraints that include most of the following considerations: economic; environmental; sustainability; manufacturability; ethical; health and safety; social; and political.”


Skills/Professional Development“Skills development” concerns engineers developing practitioner skills by applying knowledge learned in their “initial professional education”. “Professional development” concerns an SE becoming a “professional”, and maintaining that status. ABET general graduate outcome: a recognition of the need for, and an ability to engage in life-long learning


What SE Knowledge Is Important?From May to October 1998, Timothy Lethbridge [Lethbridge 2000] surveyed software professionals representing a wide variety of industries, job functions, and countries to learn which educational topics have proved most important to them in their careers and to identify the topics for which their education or current knowledge could be improved. Survey responses were received from186 software developers: wide variety of backgrounds (most with degrees in CS, SE or IS) from 42 countries (most from North America).


Most Important Topics[Lethbridge 2000]


Least Important Topics[Lethbridge 2000]


Certification and LicensingCertification is a voluntary process administered by a profession. What are some examples of professional certification? Licensing is a mandatory process administered by a governmental authority. What are some examples of professional licensing?


CSDPThe IEEE computer Society has developed a certification program for software engineers, titled Certified Software development Professional (CSDP) The CSDP credential is intended for individuals with 5 or more years of experience, and tests expertise in 11 essential software engineering knowledge areas: Business Practices and Engineering Economics Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Tools and Methods Software Quality an alternate view of certification:


SE Practices - WorldwideCusumano, et. al. gathered data from 104 software projects,in four global regions, and analyzed their use of various SE practices [Cusumano 2003].


SE Performance - WorldwideUsing the same 104 projects, Cusumano, et. al. collected data about project productivity and quality [Cusumano 2003].Note: One has be careful about drawing general conclusions from such a study: the number of projects is small compared to the total number of worldwide projects; data reporting was voluntary; and there are other factors by which a project is judged successful or unsuccessful.


Code of EthicsIn 1999, the Software Engineering Code of Ethics and Professional Practice (SE Code) was developed by by the ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices and jointly approved by the ACM and the IEEE-CS as the standard for teaching and practicing software engineering. ( The preamble to the SE Code (short version) states: Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:


SE Code PrinciplesPUBLIC - Software engineers shall act consistently with the public interest. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.


Wisdom from an SE PhilosopherAre we making progress?“We’re lost, but we’re making good time.” “It’s not too far, it just seems like it.”“You’ve got to be careful if you don’t know where you’re going ‘cause you might not get there.”


Ariane 5 Launch – June 4, 1996


Ariane 5 Accident 2The European Space Agency (ESA) spent 10 years and $7 billion to produce the Ariane 5, a giant rocket capable of launching a pair of three-ton satellites into orbit with each launch. It was intended to give Europe overwhelming supremacy in the commercial space business. [Gleick 1996] On its maiden launch, June 4, 1996, the unmanned Ariane 5 rocket, launched by the European Space Agency, exploded just forty seconds after its lift-off from Kourou, French Guiana. The destroyed rocket and its cargo were valued at $500 million. A board of inquiry investigated the causes of the explosion and in two weeks issued a report [ESA 1996]. It turned out that the cause of the failure was a software error in the inertial reference system.


Ariane 5 Case Study ExerciseTeam Exercise Each team reads through the exercise booklet for the Ariane 5 case. Each team completes a “professionalism” Case Analysis of the Ariane 5 accident. Each team presents their analysis to the class. Their may be disagreement, so a minority report is possible.

Browse More Presentations

Last Updated: 8th March 2018

Recommended PPTs