11.07.2015 Views

An Introduction to Software Engineering Objectives

An Introduction to Software Engineering Objectives

An Introduction to Software Engineering Objectives

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

What is the difference between softwareengineering and system engineering?●●System engineering is concerned with all aspectsof computer-based systems developmentincluding hardware, software and processengineering. <strong>Software</strong> engineering is part of thisprocess concerned with developing the softwareinfrastructure, control, applications anddatabases in the system.System engineers are involved in systemspecification, architectural design, integrationand deployment.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 11 What is a software process?●●A set of activities whose goal is the developmen<strong>to</strong>r evolution of software.Generic activities in all software processes are:• Specification - what the system should do and itsdevelopment constraints• Development - production of the software system• Validation - checking that the software is what thecus<strong>to</strong>mer wants• Evolution - changing the software in response <strong>to</strong>changing demands.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 12


What is a software process model?●●●A simplified representation of a software process,presented from a specific perspective.Examples of process perspectives are• Workflow perspective - sequence of activities;• Data-flow perspective - information flow;• Role/action perspective - who does what.Generic process models• Waterfall;• Iterative development;• Component-based software engineering.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 13 What are the costs of software engineering?●●●Roughly 60% of costs are development costs,40% are testing costs. For cus<strong>to</strong>m software,evolution costs often exceed development costs.Costs vary depending on the type of systembeing developed and the requirements of systemattributes such as performance and systemreliability.Distribution of costs depends on thedevelopment model that is used.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 14


Professional and ethical responsibility●●●<strong>Software</strong> engineering involves widerresponsibilities than simply the application oftechnical skills.<strong>Software</strong> engineers must behave in an honestand ethically responsible way if they are <strong>to</strong> berespected as professionals.Ethical behaviour is more than simply upholdingthe law.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 21 Issues of professional responsibility●●Confidentiality• Engineers should normally respect the confidentialityof their employers or clients irrespective of whetheror not a formal confidentiality agreement has beensigned.Competence• Engineers should not misrepresent their level ofcompetence. They should not knowingly accept workwhich is outwith their competence.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 22


Issues of professional responsibility●●Intellectual property rights• Engineers should be aware of local laws governing the use ofintellectual property such as patents, copyright, etc. Theyshould be careful <strong>to</strong> ensure that the intellectual property ofemployers and clients is protected.Computer misuse• <strong>Software</strong> engineers should not use their technical skills <strong>to</strong>misuse other peoples computers. Computer misuse rangesfrom relatively trivial (game playing on an employers machine,say) <strong>to</strong> extremely serious (dissemination of viruses).©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 23 ACM/IEEE Code of Ethics●●●The professional societies in the US havecooperated <strong>to</strong> produce a code of ethical practice.Members of these organisations sign up <strong>to</strong> thecode of practice when they join.The Code contains eight Principles related <strong>to</strong> thebehaviour of and decisions made by professionalsoftware engineers, including practitioners,educa<strong>to</strong>rs, managers, supervisors and policymakers, as well as trainees and students of theprofession.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 24


Code of ethics - preamble●Preamble• The short version of the code summarizes aspirations at a highlevel of the abstraction; the clauses that are included in the fullversion give examples and details of how these aspirationschange the way we act as software engineering professionals.Without the aspirations, the details can become legalistic andtedious; without the details, the aspirations can become highsounding but empty; <strong>to</strong>gether, the aspirations and the detailsform a cohesive code.• <strong>Software</strong> engineers shall commit themselves <strong>to</strong> making theanalysis, specification, design, development, testing andmaintenance of software a beneficial and respected profession.In accordance with their commitment <strong>to</strong> the health, safety andwelfare of the public, software engineers shall adhere <strong>to</strong> thefollowing Eight Principles:©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 25 Code of ethics - principles●●●PUBLIC• <strong>Software</strong> engineers shall act consistently with the publicinterest.CLIENT AND EMPLOYER• <strong>Software</strong> engineers shall act in a manner that is in the bestinterests of their client and employer consistent with the publicinterest.PRODUCT• <strong>Software</strong> engineers shall ensure that their products and relatedmodifications meet the highest professional standards possible.©Ian Sommerville 2004 <strong>Software</strong> <strong>Engineering</strong>, 7th edition. Chapter 1 Slide 26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!