Software development

23
Software Development Rudi Hartono Computer Science - Indonesia University of Education E-learning Content Developer at Comlabs USDI - ITB [email protected] @rudiCungkring Software Development 05/03/2014 1

description

Ethical issue of Software Development. Why software development is important for business.

Transcript of Software development

Page 1: Software development

Software Development 1

Software Development

Rudi HartonoComputer Science - Indonesia University of Education

E-learning Content Developer at Comlabs USDI - [email protected]

@rudiCungkring

05/03/2014

Page 2: Software development

Software Development 2

Vignette – Boeing Dreamliner Faces a Few Bump in the Road

The Boeing Company is the largest manufacturer of commercial jetliner and military aircraft combined. The company also designs and manufactures defense systems. Missiles, satellite, launch vehicles, and advanced information system communication systems for its customers in more than 90 countries around the world. Boeing’s annual revenue for 2008 was $61 billion.

Boeing 787 Dreamliner – commercial airplane (a fast, fuel-efficient midsizeda airplane, designed to carry anywhere from 210 to 330 passengers), making this the most successful sales launch of a new commercial airplne in boeing’s history.

2008 Boeing had orders for 861 Dreamliners valued $144 billion. 2009 First Flight of seven test models was planned for June 2009, and delivery first Dreamliner scheduled for the first quarter of 2010.

The test flight has been delayed.05/03/2014

Page 3: Software development

Software Development 3

Why?

:’(05/03/2014

Page 4: Software development

Software Development 4

Because:

• Incomplete work on some of the aircraft component supplied by contractors.

• September 6, 2008 Boeing assembly-line workers went on strike for 25 days

• Problems with the software that controls and monitors the braking system for the aircraft

“it’s not that the brakes don’t work, it’s to do the traceability of the software”, said Pat Shanahan, Boeing

vice president and 787 general manager.05/03/2014

Page 5: Software development

Software Development 5

So:

Furthermore, shrewd customers have a built-in payment-penalty clause for late delivery, which may cost Boeing

an additional hundreds of millions of dollars.

05/03/2014

Page 6: Software development

Software Development 6

Learning Objectives1. Why do companies require high-quality software in business

systems, industrial process, control systems, and customer products?2. What potential ethical do software manufacturers face making

trade-offs between project schedules, project cost, and software quality?

3. What are the four most common types of software product liability claims?

4. What are the essential component of a software development methodology, and what are be benefit of using such a methodology?

5. How can the CMMI improve an organization’s software development process?

6. What is a safety-critical system, and what special actions are required during its development?

05/03/2014

Page 7: Software development

Software Development 7

Strategies for engineering quality software

:’(05/03/2014

Page 8: Software development

Software Development 8

Strategies for engineering quality software

• Software quality is the degree to which the attributes of a software product enables it to meet the needs of its users.

• A software defect is any error that, if not removed, would cause a system to fail to meet the needs of its users.

In April 2003, Sallie Mae, the largest U.S. Student loan company ± 800.000 Borrowers that a software installation error had resulted in a

miscalculation of monthly payments on their loans.

05/03/2014

Page 9: Software development

Software Development 9

Software Quality

• Quality management : focuses of define, measure, and refine the quality of the information systems development process and product its various stages.

• Deliverables are the items developed during the development process (flowcharts, documentation, software, etc.)

05/03/2014

Page 10: Software development

Software Development 10

Primary cause of poor software quality

• Many developers do not know how to design quality into software from the very start.

• The extreme pressure that software companies feel to reduce the time to market for their product.

• All software designer and programmers make mistakes in defining user requirements and turning them into lines of codes.

The Windows Vista operating system took over five years to develop and contains than 50 million lines of code. Even if 99.9 is ready for released to public, there would still be about one bug per 10.000 lines of code. Thus

software that is used daily by workers.05/03/2014

Page 11: Software development

Software Development 11

The importance of Software Quality

A business information systems is a set of interrelated component including hardware, software, databases. Networks, people and procedures that collects and processes data and disseminates the output.

Type of business system

Captures and records business transactionsDecision support system (DSS)

Software problems may have caused frustations in the past, but mismanaged software can now be fatal to a business, causing it to miss product delivery dates. Incur increased product development cost, and deliver product that have poor quality05/03/2014

Page 12: Software development

Software Development 12

Software Product Liability

• Product liability is the liability of manufacturers, sellers, leasers, and others for the injuries caused by defective products.

• Strict liability means that the defendant is responsible for injuring another person regardless of negligence or intent.

• Under negligence, a software supplier cannot be held responsible for every product defect that causes customer or third party loss.

• Responsibility is limited to harmful defects that could have been detected and corrected through “reasonable” software development practices.

• Warranty assures the buyer that a product meets certain standards of quality.

• If a product fails to meets its warranty, the customer can sue the seller for breach of warranty.

• Intentional misrepresentation occurs when a seller misrepresents the quality of a product05/03/2014

Page 13: Software development

Software Development 13

Software Development Process

• Software Development Methodology – a standard, proven work process that enables system analysts, programmers, project manager, and other make to controlled and orderly progress in developing high-quality software

• Quality Assurance (QA) – methods within the development cycle designed to guarantee reliable operation of the product.2 ways that can protect software manufacturers from legal liability.

An effective methodology reduces the numbers of errorWidely accepted development methods, Negligence on its part is harder to

prove05/03/2014

Page 14: Software development

Software Development 14

Dynamic Testing

Functional testing or behavior testing, Incorrect or missing functionality,Interfaces error,Errors in data structures,Behavior or performances errors,Initialization and termination errors

Testing based on program codeControl flowExecute every statement of program

05/03/2014

Page 15: Software development

Software Development 15

Other Types of Software Testing

Static testing Integration Testing

System testing

User Acceptance Testing (UAT)

05/03/2014

Page 16: Software development

Software Development 16

Capability Maturity Model Integration (CMMI)

• Carnegie Mellon Institute developed the Capability Maturity Model for Software.

• It defines five levels of software development process maturity and identifies the issues most critical to software quality and process improvement.

Partial of organization using CMMI: Accenture, Boeing, DynCorp, Federal Aviation Administration, General Dynamic. IBM Global Services, Intel,

Samsung, and other

05/03/2014

Page 17: Software development

Software Development 17

Capability Maturity Model Integration (CCMI)

Maturity Level

Definition Percent of all reporting organizations at this level

Not Reported

8.4%

Initial Process unpredictable, poorly controlled, and reactive

1.9%

Managed Process characterized for project and often reactive 33.3%

Defined For the organizational and proactive 33.8%

Quantitatively managed

Process Measured and controlled 4.4%

Optimizing Focus on continuous process improvement 18.2%

05/03/2014

Page 18: Software development

Software Development 18

Development of Safety-Critical Systems

Is one whose failure may cause injury or death

The Mariner I space probe, which was intended to make a close flyby of the planet venus, as ordered destroyed less than five minutes after launch

in july 1962. Faulty software code caused the flight control computer to perform a series of unnecessary course correction signal, which threw the

spacecraft dangerous off course.05/03/2014

Page 19: Software development

Software Development 19

The key of safety-critical systems

Project safety engineerRiskRedundancyN-version ProgrammingReliability

Bisi aya carita anu lain haha

05/03/2014

Page 20: Software development

Software Development 20

Quality Management Standard

• The International Organization for Standardization issued the ISO series of business management standards in 1988.

• ISO 9000 is a series of formal standards to follow when developing quality information systems.

05/03/2014

Page 21: Software development

Software Development 21

Quality Management Standard

• To be ISO 9000 certified, a company must do three things:– Have written procedures for everything they do.– Follow those procedures.– Prove to an auditor that they have written procedures and

that they follow them ISO 9000 is a series of formal standards to follow when developing quality information systems.

• ISO 9001 – Design, development, production, installation, service• ISO 9002 – Production, installation, service• ISO 9003 – Final inspection and test• ISO 9004 – Quality management and quality systems elements

05/03/2014

Page 22: Software development

Software Development 22

Failure Mode and Effects Analysis (FMEA)

• Important technique used to develop ISO 9000-compliant quality systems by both evaluating reliability and determining the effects of system and equipment failures.

• The Goal of FMEA is to identify potential design and process failures early in a project.

LifeScan is part of Johnson & Johnson and for over 20 years it has developed products for people with diabetes, every day, more than 3

million people depend on its OneTouch Systems

05/03/2014

Page 23: Software development

Software Development 23

Resource & References

Click smile icon for detail information

Testing Overview and Black-Box Testing Techniques – Laurie

Williams 2006Testing Overview and White-Box Testing Techniques – Laurie

Williams 2006

05/03/2014