23
Software Software Engineering 2 Engineering 2 Software and Society Software and Society Mark J. Christensen Presented by: Feras Batarseh

Software Engineering 2 Software and Society Mark J. Christensen Presented by: Feras Batarseh

Embed Size (px)

Citation preview

Software Engineering 2Software Engineering 2Software and SocietySoftware and Society

Mark J. Christensen

Presented by:Feras Batarseh

Importance of SoftwareImportance of Software

Pure Software: pharmacy.Pure Software: pharmacy.

Software controlled products: brakingSoftware controlled products: braking

system.system.

People earn a living from buildingPeople earn a living from building

software.software.

Software by itselfSoftware by itself

The world cannot function as it does,The world cannot function as it does,

Without software.Without software.

BUT SW does nothing except movingBUT SW does nothing except moving

electrons from one computer to another.electrons from one computer to another.

Like all eng. Activities it derives importanceLike all eng. Activities it derives importance

from the world.from the world.

Software by itself 2Software by itself 2

SW is the SW is the Key enabler, Key enabler, but not thebut not the

final effecterfinal effecter..

Ex. Decision making.Ex. Decision making.

Software ImportanceSoftware Importance

SW importance depends on theSW importance depends on the

number of:number of:

-Individuals.-Individuals.

-Entities that are involved in the-Entities that are involved in the

process.process.

-Size of the business.-Size of the business.

Software impactSoftware impact

Software industry and impact are notSoftware industry and impact are not

isolated to one part of the world.isolated to one part of the world.

SW development and research centersSW development and research centers

all around the world, with people,all around the world, with people,

Governments and companies involvedGovernments and companies involved

in the process.in the process.

My opinionMy opinion

Software is still limited to a number ofSoftware is still limited to a number ofplaces in the world, there is a lot of placesplaces in the world, there is a lot of placesthat software didn’t reach yet!that software didn’t reach yet!

GUI is a major factor in spreading PC’sGUI is a major factor in spreading PC’saround the world, if the user interfacearound the world, if the user interfacewasn’t that friendly, just the specialistswasn’t that friendly, just the specialistswould use the computers.would use the computers.

Success is avoiding failureSuccess is avoiding failure

Knowing what doesn’t work and Past SWKnowing what doesn’t work and Past SW

failures, helps us avoid repeating mistakes.failures, helps us avoid repeating mistakes.

Expect any un expected behavior from theExpect any un expected behavior from the

SW if not build on scientific and technicalSW if not build on scientific and technical

knowledge.knowledge.

Code of ConductCode of Conduct

Short versionShort version and Long version. and Long version.

Describes the relation for SW engineerDescribes the relation for SW engineer

with the surrounding:with the surrounding:

1-Society 1-Society

2-employer2-employer

3-work activities and products3-work activities and products

4-SW engineering profession4-SW engineering profession

Code of Conduct 2Code of Conduct 2

Engineer is asked to balance between theEngineer is asked to balance between the

different sides of the code, as they maydifferent sides of the code, as they may

conflict sometimes.conflict sometimes.

Ex:Ex:

Faithfulness to the public and to theFaithfulness to the public and to the

employer.employer.

Code of Conduct 3Code of Conduct 3

Short version with 8 points.Short version with 8 points.

Long version with 6 to 15 sub pointsLong version with 6 to 15 sub points

for the 8 points.for the 8 points.

Available at the IEEE CS and ACMAvailable at the IEEE CS and ACM

websites.websites.

Law IssuesLaw Issues

80% of individuals working for licensed80% of individuals working for licensed

companies are not licensed!companies are not licensed!

They can still work but cannot takeThey can still work but cannot take

major decisions. major decisions.

Law Issues 2Law Issues 2

British and American courts developed rulesBritish and American courts developed rulesfor such cases.for such cases.

Plaintiff must present expert testimony toPlaintiff must present expert testimony toproof the deviation from the standards fromproof the deviation from the standards fromthe defendant engineer.the defendant engineer.

Or proof the design criteria that the productOr proof the design criteria that the productdidn’t meet to sue the manufacturer.didn’t meet to sue the manufacturer.

Engineer against ManufacturerEngineer against Manufacturer

The engineer doesn’t guarantee the results,The engineer doesn’t guarantee the results,

his only responsibility is to work inhis only responsibility is to work in

accordance to the standards .accordance to the standards .

The manufacturer must provide a nonThe manufacturer must provide a non

defected product and is responsible for thedefected product and is responsible for the

results.results.

ExampleExample

You are transferred into a new work unit,You are transferred into a new work unit,although their work is legal, you concludedalthough their work is legal, you concludedthat its not for the public good.that its not for the public good.What do you do?What do you do?

1-Leave the job.1-Leave the job.2-Continue to work in the business with your best2-Continue to work in the business with your besteffort.effort.3-Continue to work and complain to your3-Continue to work and complain to yourcolleagues and friends about it.colleagues and friends about it.

Example cont.Example cont.

1-you left your job, didn’t benefit your society1-you left your job, didn’t benefit your societyor your company or even your self.or your company or even your self.

2-continue your work!2-continue your work!You are harming your society.You are harming your society.

3-you are dragging down your colleagues3-you are dragging down your colleaguesmorale.morale.

In all the cases you are violating the code!In all the cases you are violating the code!

Example cont.Example cont.

In such cases you should balance yourIn such cases you should balance your

action, and do it with your best ofaction, and do it with your best of

honesty and professionalism.honesty and professionalism.

By respecting your colleaguesBy respecting your colleagues

judgments, the society and yourjudgments, the society and your

employer.employer.

My opinionMy opinion

In my opinion, I think the softwareIn my opinion, I think the software

engineer must contact his employer,engineer must contact his employer,

to discuss about making the society ato discuss about making the society a

priority, without harming the profit ofpriority, without harming the profit of

the company.the company.

ColleaguesColleagues

Respect your colleagues.Respect your colleagues.

Two main problems (occur frequently):Two main problems (occur frequently):

Immaturity.Immaturity.

Technical Arrogance.Technical Arrogance.

IEEEIEEE

IEEE provided standards for working in SWIEEE provided standards for working in SWengineering threw all the stages like:engineering threw all the stages like:-IEEE standard for software test-IEEE standard for software testdocumentation.documentation.-IEEE standard for software Maintenance.-IEEE standard for software Maintenance.-IEEE standard for software Unit testing-IEEE standard for software Unit testing-IEEE standard for software verification and-IEEE standard for software verification andvalidation.validation.-IEEE standard for software safety plans.-IEEE standard for software safety plans.

Codes are not MagicCodes are not Magic

Many professions had codes for decades,Many professions had codes for decades,but problems still occur.but problems still occur.

Ex: Ex: - Doctors make surgical mistakes.Doctors make surgical mistakes.- Structural engineers design bridges that Structural engineers design bridges that

fail during storms.fail during storms.

So: Codes must provide guidance aboutSo: Codes must provide guidance aboutwhat should be done. what should be done.

Much to doMuch to do

Average user of software is still expecting a greatAverage user of software is still expecting a greatdeal of bugs, failures!! deal of bugs, failures!!

Does that mean that we failed?Does that mean that we failed?NO!NO!

Even if the underlying science is well known,Even if the underlying science is well known,a great deal of work is needed to apply it toa great deal of work is needed to apply it todomain of engineering.domain of engineering.

That is the case with all engineering disciplines.That is the case with all engineering disciplines.

Thank you.Thank you.