DOC PREVIEW
CORNELL CS 501 - Lecture 19 Reliability 1

This preview shows page 1-2-17-18-19-35-36 out of 36 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringAdministrationLectures on Reliability and DependabilityDependable and Reliable Systems: The Royal MajestyThe Royal Majesty: AnalysisThe Royal Majesty: Software LessonsKey Factors for Reliable SoftwareBuilding Dependable Systems: Three PrinciplesBuilding Dependable Systems: Organizational CultureBuilding Dependable Systems: Quality Management ProcessesSlide 11Building Dependable Systems: Specifications for the ClientBuilding Dependable Systems: Modified Waterfall ModelBuilding Dependable Systems: ChangeBuilding Dependable Systems: ComplexityReliability MetricsMetrics: User Perception of ReliabilitySlide 18Reliability Metrics for Distributed SystemsMetrics for Requirements: Specification of System ReliabilityMetrics: Cost of Improved ReliabilityExample: Central Computing SystemSlide 23Slide 24Static Validation & VerificationReviews: Process (Plan)Reviews: Design and CodeReview ProcessBenefits of Design and Code ReviewsReview Team (Full Version)Example: Program DesignStatic and Dynamic VerificationStatic Verification: Program InspectionsInspection Checklist: Common ErrorsStatic Analysis ToolsStatic Analysis Tools (continued)1CS 501 Spring 2008CS 501: Software EngineeringLecture 19Reliability 12CS 501 Spring 2008AdministrationQuiz 3 averagesQuestion 1 6.6Question 2 5.23CS 501 Spring 2008Lectures on Reliability and DependabilityLecture 19, Reliability 1: The development processReviewsLecture 20, Reliability 2: Reliability and securityProgramming techniquesLecture 21, Reliability 3: Testing and bug fixing Acceptance testing is covered in Lecture 23, Delivering the System4CS 501 Spring 2008Dependable and Reliable Systems: The Royal MajestyFrom the report of the National Transportation Safety Board:"On June 10, 1995, the Panamanian passenger ship Royal Majesty grounded on Rose and Crown Shoal about 10 miles east of Nantucket Island, Massachusetts, and about 17 miles from where the watch officers thought the vessel was. The vessel, with 1,509 persons on board, was en route from St. George’s, Bermuda, to Boston, Massachusetts.""The Raytheon GPS unit installed on the Royal Majesty had been designed as a standalone navigation device in the mid- to late1980s, ...The Royal Majesty’s GPS was configured by Majesty Cruise Line to automatically default to the Dead Reckoning mode when satellite data were not available."5CS 501 Spring 2008The Royal Majesty: Analysis• The ship was steered by an autopilot that relied on position information from the Global Positioning System (GPS).• If the GPS could not obtain a position from satellites, it provided an estimated position based on Dead Reckoning (distance and direction traveled from a known point).• The GPS failed one hour after leaving Bermuda.• The crew failed to see the warning message on the display (or to check the instruments).• 34 hours and 600 miles later, the Dead Reckoning error was 17 miles.6CS 501 Spring 2008The Royal Majesty: Software LessonsAll the software worked as specified (no bugs), but ...• Since the GPS software had been specified, the requirements had changed (stand alone system to part of integrated system).• The manufacturers of the autopilot and GPS adopted different design philosophies about the communication of mode changes.• The autopilot was not programmed to recognize valid/invalid status bits in message from the GPS (NMEA 0183).• The warnings provided by the user interface were not sufficiently conspicuous to alert the crew.• The officers had not been properly trained on this equipment.7CS 501 Spring 2008Key Factors for Reliable Software• Organization culture that expects quality• Approach to software design and implementation that hides complexity (e.g., structured design, object-oriented programming)• Precise, unambiguous specification• Use of software tools that restrict or detect errors (e.g., strongly typed languages, source control systems, debuggers)• Programming style that emphasizes simplicity, readability, and avoidance of dangerous constructs• Incremental validation8CS 501 Spring 2008Building Dependable Systems: Three PrinciplesFor a software system to be dependable:• Each stage of development must be done well.• Changes should be incorporated into the structure as carefully as the original system development.• Testing and correction do not ensure quality, but dependable systems are not possible without systematic testing.9CS 501 Spring 2008Building Dependable Systems: Organizational CultureGood organizations create good systems:• Acceptance of the group's style of work (e.g., meetings, preparation, support for juniors)• Visibility• Completion of a task before moving to the next (e.g., documentation, comments in code)10CS 501 Spring 2008Building Dependable Systems: Quality Management ProcessesAssumption:Good processes lead to good softwareThe importance of routine:Standard terminology (requirements, specification, design, etc.)Software standards (naming conventions, etc.)Internal and external documentationReporting procedures11CS 501 Spring 2008Building Dependable Systems: Quality Management ProcessesWhen time is short...Pay extra attention to the early stages of the process: feasibility, requirements, design.There will be no time to redo mistakes in the requirements.Experience shows that taking extra time on the early stages will usually reduce the total time to release.12CS 501 Spring 2008Building Dependable Systems: Specifications for the ClientSpecifications are of no value if they do not meet the client's needs• The client must understand and review the requirements specification in detail• Appropriate members of the client's staff must review relevant areas of the design (e.g., operations, training materials, system administration)• The acceptance tests must belong to the client13CS 501 Spring 2008Building Dependable Systems: Modified Waterfall ModelRequirementsSystem designTestingOperation & maintenanceProgram designImplementation (coding)Acceptance & releaseFeasibility studyChanges14CS 501 Spring 2008Building Dependable Systems: ChangeChange management:Source code management and version controlTracking of change requests and bug reportsProcedures for changing requirements specifications, designs and other documentationRegression testingRelease control15CS 501 Spring 2008Building Dependable Systems: ComplexityThe human mind can encompass only limited complexity:•


View Full Document

CORNELL CS 501 - Lecture 19 Reliability 1

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Lecture 19 Reliability 1
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 19 Reliability 1 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 19 Reliability 1 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?