week 1 - introduction (se)
TRANSCRIPT
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 1/48
Chapter 1- Introduction
Lecture 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 2/48
Topics covered
TDB21632
Professional software development What is meant by software engineering.
Software engineering ethics A brief introduction to ethical issues that aect
software engineering. Case studies An introduction to three examples that are used in
later chapters in the book.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 3/48
Software engineering
he economies of A!! developed nations aredependent on software.
"ore and more systems are softwarecontrolled
Software engineering is concerned withtheories# methods and tools for professionalsoftware development.
$xpenditure on software represents a
signi%cant fraction of &'P in all developedcountries.
Week 1TDB21633
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 4/48
Software costs
Software costs often dominate computersystem costs. he costs of software on a PCare often greater than the hardware cost.
Software costs more to maintain than it does
to develop. (or systems with a long life#maintenance costs may be several timesdevelopment costs.
Software engineering is concerned with cost)
eective software development.
Week 1TDB21634
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 5/48
Software products
TDB21635
&eneric products Stand)alone systems that are marketed and sold
to any customer who wishes to buy them.
$xamples * PC software such as graphicsprograms# pro+ect management tools, CA-software, software for speci%c markets such asappointments systems for dentists.
Customied products Software that is commissioned by a speci%c
customer to meet their own needs.
$xamples * embedded control systems# air tra/ccontrol software# tra/c monitoring systems.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 6/48
Product specification
TDB21636
&eneric products he speci%cation of what the software should do is
owned by the software developer and decisions onsoftware change are made by the developer.
Customied products he speci%cation of what the software should do is
owned by the customer for the software and theymake decisions on software changes that arere0uired.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 7/48
Frequently asked questions about softwareengineering
TDB21637
Question Answer
What is software? Computer programs and assoiated doumentation!"oftware produts ma# $e de%e&oped for a partiu&arustomer or ma# $e de%e&oped for a genera& market!
What are the attri$utes of good software? 'ood software shou&d de&i%er the re(uired funtiona&it#
and performane to the user and shou&d $emaintaina$&e) dependa$&e and usa$&e!
What is software engineering? "oftware engineering is an engineering disip&ine that isonerned with a&& aspets of software prodution!
What are the fundamenta& softwareengineering ati%ities?
"oftware speifiation) software de%e&opment) software%a&idation and software e%o&ution!
What is the differene $etween software
engineering and omputer siene?
Computer siene fouses on theor# and fundamenta&s*
software engineering is onerned with the pratia&itiesof de%e&oping and de&i%ering usefu& software!
What is the differene $etween softwareengineering and s#stem engineering?
"#stem engineering is onerned with a&& aspets ofomputer+$ased s#stems de%e&opment in&udinghardware) software and proess engineering! "oftwareengineering is part of this more genera& proess!
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 8/48
Frequently asked questions about softwareengineering
TDB2163,
Question Answer
What are the ke# ha&&enges faingsoftware engineering?
Coping with inreasing di%ersit#) demands for reduedde&i%er# times and de%e&oping trustworth# software!
What are the osts of softwareengineering?
-ough&# 6./ of software osts are de%e&opment osts)4./ are testing osts! 0or ustom software) e%o&utionosts often eeed de%e&opment osts!
What are the $est software engineeringtehni(ues and methods?
Whi&e a&& software proets ha%e to $e professiona&&#managed and de%e&oped) different tehni(ues areappropriate for different t#pes of s#stem! 0or eamp&e)games shou&d a&wa#s $e de%e&oped using a series ofprotot#pes whereas safet# ritia& ontro& s#stems re(uirea omp&ete and ana&#a$&e speifiation to $e de%e&oped!ou ant) therefore) sa# that one method is $etter than
another!
What differenes has the we$ made tosoftware engineering?
The we$ has &ed to the a%ai&a$i&it# of software ser%iesand the possi$i&it# of de%e&oping high&# distri$uted ser%ie+$ased s#stems! We$+$ased s#stems de%e&opment has&ed to important ad%anes in programming &anguages andsoftware reuse!
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 9/48
Essential attributes of good software
TDB2163
Product characteristic Description
aintaina$i&it# "oftware shou&d $e written in suh a wa# so that it an e%o&%e tomeet the hanging needs of ustomers! This is a ritia& attri$ute$eause software hange is an ine%ita$&e re(uirement of ahanging $usiness en%ironment!
Dependa$i&it# andseurit#
"oftware dependa$i&it# in&udes a range of harateristisin&uding re&ia$i&it#) seurit# and safet#! Dependa$&e softwareshou&d not ause ph#sia& or eonomi damage in the e%ent ofs#stem fai&ure! a&iious users shou&d not $e a$&e to aess ordamage the s#stem!
8ffiien# "oftware shou&d not make wastefu& use of s#stem resoures suhas memor# and proessor #&es! 8ffiien# therefore in&udes
responsi%eness) proessing time) memor# uti&isation) et!
9epta$i&it# "oftware must $e aepta$&e to the t#pe of users for whih it isdesigned! This means that it must $e understanda$&e) usa$&e andompati$&e with other s#stems that the# use!
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 10/48
Software engineering
TDB21631.
Software engineering is an engineering disciplinethat is concerned with all aspects of softwareproduction from the early stages of systemspeci%cation through to maintaining the systemafter it has gone into use.
$ngineering discipline 1sing appropriate theories and methods to solve
problems bearing in mind organiational and %nancialconstraints.
All aspects of software production 'ot +ust technical process of development. Also pro+ect
management and the development of tools# methodsetc. to support software production.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 11/48
Importance of software engineering
TDB216311
"ore and more# individuals and society rely onadvanced software systems. We need to beable to produce reliable and trustworthysystems economically and 0uickly.
2t is usually cheaper# in the long run# to usesoftware engineering methods and techni0uesfor software systems rather than +ust write theprograms as if it was a personal programming
pro+ect. (or most types of system# thema+ority of costs are the costs of changing thesoftware after it has gone into use.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 12/48
Software process activities
TDB216312
Software speci%cation# where customers andengineers de%ne the software that is to beproduced and the constraints on its operation.
Software development# where the software is
designed and programmed. Software validation# where the software is
checked to ensure that it is what the customerre0uires.
Software evolution# where the software ismodi%ed to re3ect changing customer andmarket re0uirements.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 13/48
General issues that affect most software
TDB216313
4eterogeneity 2ncreasingly# systems are re0uired to operate as
distributed systems across networks that includedierent types of computer and mobile devices.
5usiness and social change 5usiness and society are changing incredibly
0uickly as emerging economies develop and newtechnologies become available. hey need to beable to change their existing software and to
rapidly develop new software. Security and trust As software is intertwined with all aspects of our
lives# it is essential that we can trust that
software. Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 14/48
Software engineering diversity
TDB216314
here are many dierent types of softwaresystem and there is no universal set ofsoftware techni0ues that is applicable to all ofthese.
he software engineering methods and toolsused depend on the type of application beingdeveloped# the re0uirements of the customerand the background of the development team.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 15/48
Application types
TDB216315
Stand)alone applications hese are application systems that run on a local
computer# such as a PC. hey include all necessaryfunctionality and do not need to be connected to anetwork.
2nteractive transaction)based applications Applications that execute on a remote computer and are
accessed by users from their own PCs or terminals. heseinclude web applications such as e)commerce applications.
$mbedded control systems
hese are software control systems that control andmanage hardware devices. 'umerically# there are probablymore embedded systems than any other type of system.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 16/48
Application types
TDB216316
5atch processing systems hese are business systems that are designed to
process data in large batches. hey process largenumbers of individual inputs to createcorresponding outputs.
$ntertainment systems hese are systems that are primarily for personal
use and which are intended to entertain the user.
Systems for modeling and simulation hese are systems that are developed by
scientists and engineers to model physicalprocesses or situations# which include many#separate# interacting ob+ects.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 17/48
Application types
TDB216317
-ata collection systems hese are systems that collect data from their
environment using a set of sensors and send thatdata to other systems for processing.
Systems of systems hese are systems that are composed of a numberof other software systems.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 18/48
Software engineering fundamentals
TDB21631,
Some fundamental principles apply to all types ofsoftware system# irrespective of the developmenttechni0ues used6 Systems should be developed using a managed and
understood development process. 7f course# dierent
processes are used for dierent types of software. -ependability and performance are important for all
types of system.
1nderstanding and managing the software speci%cationand re0uirements 8what the software should do9 are
important. Where appropriate# you should reuse software that has
already been developed rather than write newsoftware.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 19/48
Software engineering and the web
TDB21631
he Web is now a platform for runningapplication and organiations are increasinglydeveloping web)based systems rather thanlocal systems.
Web services 8discussed in Chapter :;9 allowapplication functionality to be accessed overthe web.
Cloud computing is an approach to the
provision of computer services whereapplications run remotely on the <cloud=. 1sers do not buy software buy pay according to
use.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 20/48
Web software engineering
TDB21632.
Software reuse is the dominant approach for constructingweb)based systems. When building these systems# you think about how you can
assemble them from pre)existing software components and systems.
Web)based systems should be developed and deliveredincrementally. 2t is now generally recognied that it is impractical to specify all the
re0uirements for such systems in advance.
1ser interfaces are constrained by the capabilities of webbrowsers. echnologies such as A>A? allow rich interfaces to be created within
a web browser but are still di/cult to use. Web forms with localscripting are more commonly used.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 21/48
Web-based software engineering
TDB216321
Web)based systems are complex distributedsystems but the fundamental principles ofsoftware engineering discussed previously areas applicable to them as they are to any othertypes of system.
he fundamental ideas of softwareengineering# discussed in the previoussection# apply to web)based software in the
same way that they apply to other types ofsoftware system.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 22/48
Key points
TDB216322
Software engineering is an engineeringdiscipline that is concerned with all aspects ofsoftware production.
$ssential software product attributes are
maintainability# dependability and security#e/ciency and acceptability.
he high)level activities of speci%cation#development# validation and evolution are partof all software processes.
he fundamental notions of softwareengineering are universally applicable to alltypes of system development.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 23/48
Key points
TDB216323
here are many dierent types of system andeach re0uires appropriate softwareengineering tools and techni0ues for theirdevelopment.
he fundamental ideas of softwareengineering are applicable to all types ofsoftware system.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 24/48
Chapter 1- Introduction
Lecture 2
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 25/48
Software engineering ethics
Software engineering involves widerresponsibilities than simply the application oftechnical skills.
Software engineers must behave in an honest
and ethically responsible way if they are to berespected as professionals.
$thical behaviour is more than simplyupholding the law but involves following a set
of principles that are morally correct.
Week 1TDB216325
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 26/48
Issues of professional responsibility
Con%dentiality $ngineers should normally respect thecon%dentiality of their employers or clientsirrespective of whether or not a formalcon%dentiality agreement has been signed.
Competence $ngineers should not misrepresent their level of
competence. hey should not knowingly acceptwork which is outwith their competence.
Week 1TDB216326
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 27/48
Issues of professional responsibility
2ntellectual property rights $ngineers should be aware of local laws governing the use
of intellectual property such as patents# copyright# etc. hey should be careful to ensure that the intellectualproperty of employers and clients is protected.
Computer misuse Software engineers should not use their technical skills to
misuse other people=s computers. Computer misuseranges from relatively trivial 8game playing on anemployer=s machine# say9 to extremely serious
8dissemination of viruses9.
Week 1TDB216327
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 28/48
ACM/IEEE Code of Ethics
he professional societies in the 1S havecooperated to produce a code of ethicalpractice.
"embers of these organisations sign up to thecode of practice when they +oin.
he Code contains eight Principles related tothe behaviour of and decisions made byprofessional software engineers# includingpractitioners# educators# managers#
supervisors and policy makers# as well astrainees and students of the profession.
Week 1TDB21632,
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 29/48
Rationale for the code of ethics
TDB21632
Computers have a central and growing role in
commerce, industry, government, medicine, education,entertainment and society at large. Software engineersare those who contribute by direct participation or byteaching, to the analysis, specication, design,development, certication, maintenance and testing of
software systems. Because of their roles in developing software systems,
software engineers have signicant opportunities to dogood or cause harm, to enable others to do good orcause harm, or to inuence others to do good or causeharm. To ensure, as much as possible, that their eortswill be used for good, software engineers must committhemselves to maing software engineering a benecialand respected profession.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 30/48
The ACM/IEEE Code of Ethics
TDB21633.
Software Engineering Code of Ethics and Professional Practice
9C:;888+C" <oint Task 0ore on "oftware 8ngineering 8this and =rofessiona& =raties
PREAMBLE
The short %ersion of the ode summaries aspirations at a high &e%e& of the a$stration* the
&auses that are in&uded in the fu&& %ersion gi%e eamp&es and detai&s of how theseaspirations hange the wa# we at as software engineering professiona&s! Without the
aspirations) the detai&s an $eome &ega&isti and tedious* without the detai&s) the
aspirations an $eome high sounding $ut empt#* together) the aspirations and the detai&s
form a ohesi%e ode!
"oftware engineers sha&& ommit themse&%es to making the ana&#sis) speifiation) design)
de%e&opment) testing and maintenane of software a $enefiia& and respeted profession! ;naordane with their ommitment to the hea&th) safet# and we&fare of the pu$&i) software
engineers sha&& adhere to the fo&&owing 8ight =rinip&es>
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 31/48
Ethical principles
TDB216331
1! =B@;C + "oftware engineers sha&& at onsistent&# with the pu$&i interest!
2! C@;8AT 9AD 8=@8- + "oftware engineers sha&& at in a manner that is in the $est
interests of their &ient and emp&o#er onsistent with the pu$&i interest!
3! =-DCT + "oftware engineers sha&& ensure that their produts and re&ated
modifiations meet the highest professiona& standards possi$&e!
4! <D'8AT + "oftware engineers sha&& maintain integrit# and independene in their
professiona& udgment!
5! 9A9'88AT + "oftware engineering managers and &eaders sha&& su$sri$e to and
promote an ethia& approah to the management of software de%e&opment and
maintenane!
6! =-08"";A + "oftware engineers sha&& ad%ane the integrit# and reputation of theprofession onsistent with the pu$&i interest!
7! C@@89'8" + "oftware engineers sha&& $e fair to and supporti%e of their o&&eagues!
,! "8@0 + "oftware engineers sha&& partiipate in &ife&ong &earning regarding the pratie of
their profession and sha&& promote an ethia& approah to the pratie of the profession!
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 32/48
Ethical dilemmas
-isagreement in principle with the policies ofsenior management.
@our employer acts in an unethical way andreleases a safety)critical system without
%nishing the testing of the system. Participation in the development of military
weapons systems or nuclear systems.
Week 1TDB216332
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 33/48
Case studies
TDB216333
A personal insulin pump An embedded system in an insulin pump used by
diabetics to maintain blood glucose control.
A mental health case patient management
system A system used to maintain records of people
receiving care for mental health problems.
A wilderness weather station
A data collection system that collects data aboutweather conditions in remote areas.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 34/48
Insulin pump control system
TDB216334
Collects data from a blood sugar sensor andcalculates the amount of insulin re0uired to bein+ected.
Calculation based on the rate of change of
blood sugar levels. Sends signals to a micro)pump to deliver the
correct dose of insulin.
Safety)critical system as low blood sugars can
lead to brain malfunctioning# coma and death,high)blood sugar levels have long)termconse0uences such as eye and kidneydamage.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 35/48
Insulin pump hardware architecture
TDB216335 Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 36/48
Activity model of the insulin pump
TDB216336 Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 37/48
Essential high-level requirements
TDB216337
he system shall be available to deliver insulinwhen re0uired.
he system shall perform reliably and deliverthe correct amount of insulin to counteract the
current level of blood sugar. he system must therefore be designed and
implemented to ensure that the systemalways meets these re0uirements.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 38/48
A patient information system for mentalhealth care
TDB21633,
A patient information system to support mentalhealth care is a medical information system thatmaintains information about patients suering frommental health problems and the treatments thatthey have received.
"ost mental health patients do not re0uirededicated hospital treatment but need to attendspecialist clinics regularly where they can meet adoctor who has detailed knowledge of theirproblems.
o make it easier for patients to attend# these clinicsare not +ust run in hospitals. hey may also be heldin local medical practices or community centres.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 39/48
MHC-PMS
TDB21633
he "4C)P"S 8"ental 4ealth Care)Patient"anagement System9 is an informationsystem that is intended for use in clinics.
2t makes use of a centralied database of
patient information but has also beendesigned to run on a PC# so that it may beaccessed and used from sites that do not havesecure network connectivity.
When the local systems have secure networkaccess# they use patient information in thedatabase but they can download and use localcopies of patient records when they are
disconnected. Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 40/48
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 41/48
The organization of the MHC-PMS
TDB216341 Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 42/48
MHC-PMS key features
TDB216342
2ndividual care management Clinicians can create records for patients# edit the information in
the system# view patient history# etc. he system supports datasummaries so that doctors can 0uickly learn about the keyproblems and treatments that have been prescribed.
Patient monitoring he system monitors the records of patients that are involved in
treatment and issues warnings if possible problems aredetected.
Administrative reporting he system generates monthly management reports showing
the number of patients treated at each clinic# the number ofpatients who have entered and left the care system# number ofpatients sectioned# the drugs prescribed and their costs# etc.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 43/48
MHC-PMS concerns
TDB216343
Privacy 2t is essential that patient information is
con%dential and is never disclosed to anyoneapart from authorised medical sta and thepatient themselves.
Safety Some mental illnesses cause patients to become
suicidal or a danger to other people. Whereverpossible# the system should warn medical sta
about potentially suicidal or dangerous patients. he system must be available when needed
otherwise safety may be compromised and it maybe impossible to prescribe the correct medication
to patients. Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 44/48
Wilderness weather station
TDB216344
he government of a country with large areas of
wilderness decides to deploy several hundredweather stations in remote areas.
Weather stations collect data from a set ofinstruments that measure temperature and pressure#
sunshine# rainfall# wind speed and wind direction. he weather station includes a number of instruments that
measure weather parameters such as the wind speed anddirection# the ground and air temperatures# the barometricpressure and the rainfall over a B)hour period. $ach of
these instruments is controlled by a software system thattakes parameter readings periodically and manages thedata collected from the instruments.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 45/48
The weather station’s environment
TDB216345 Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 46/48
Weather information system
TDB216346
he weather station system his is responsible for collecting weather data# carrying
out some initial data processing and transmitting it tothe data management system.
he data management and archiving system his system collects the data from all of the wilderness
weather stations# carries out data processing andanalysis and archives the data.
he station maintenance system his system can communicate by satellite with all
wilderness weather stations to monitor the health of
these systems and provide reports of problems.
Week 1
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 47/48
8/20/2019 Week 1 - Introduction (SE)
http://slidepdf.com/reader/full/week-1-introduction-se 48/48
Key points
Software engineers have responsibilities to theengineering profession and society. hey shouldnot simply be concerned with technical issues.
Professional societies publish codes of conductwhich set out the standards of behaviour
expected of their members. hree case studies are used in the book6
An embedded insulin pump control system
A system for mental health care patient
management A wilderness weather station