cs 4310 software requirements engineering
DESCRIPTION
CS 4310 Software Requirements Engineering. Dr. Yoonsik Cheon Dr. Irbis Gallegos University of Texas at El Paso Department of Computer Science Fall 2012. Introductions. CS 4310, Software Requirements Engineering Required course: must pass with C or better to take 4311 Text book: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/1.jpg)
CS 4310 Software Requirements Engineering
Dr. Yoonsik CheonDr. Irbis Gallegos
University of Texas at El PasoDepartment of Computer Science
Fall 2012
![Page 2: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/2.jpg)
Introductions• CS 4310, Software Requirements Engineering
– Required course: – must pass with C or better to take 4311
• Text book: – Van Vliet, Software Engineering– Required: you will need in class sometimes.
• Course Notes: Available online• TA: TBA
![Page 3: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/3.jpg)
Teams of 3
• Introduce yourselves• Find one food product and one movie that
you all like
• 2 minutes
![Page 4: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/4.jpg)
Teams: Syllabus Review
• Read the syllabus• Quiz to follow• Pay attention to:
– objective: software requirements engineering– email policy– grading– attendance– office hours and policy
![Page 5: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/5.jpg)
Quiz
• Name the other people in your group.• Two email addresses are listed on the
syllabus. What are they?• Write the pseudo code for the grading
algorithm.• What is the attendance policy?• Where is Dr. Gallegos’ new office?
![Page 6: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/6.jpg)
Assignments
• Resume
![Page 7: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/7.jpg)
• Plan on checking your mail daily.
![Page 8: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/8.jpg)
Fact or Fiction?
• This course is hard.• This course will take all your time.• You should concentrate on the exams and
not on the project.• You should concentrate on the project and
not the exam.• Your team mates will cover for you.
![Page 9: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/9.jpg)
![Page 10: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/10.jpg)
Team
What are the major steps needed to develop a reliable software system?
(5 minutes)
![Page 11: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/11.jpg)
What is software engineering?
• Software engineering is an attempt to formalize the construction of software. In particular, we are concerned with large, complex systems, systems that require multi-person effort and usually multiple versions.
![Page 12: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/12.jpg)
Do we need software engineering?
![Page 13: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/13.jpg)
Do we need software engineering?
• All great software is written by small teams: look at unix (2 guys), Apple (started in a garage), …
![Page 14: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/14.jpg)
Do we need software engineering?
• All great software is written by small teams: look at unix (2 guys), Apple (started in a garage), …
• Writing software is a creative process, an “art” or a “craft”, and cannot be engineered.
![Page 15: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/15.jpg)
Three Critical Dimensions
![Page 16: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/16.jpg)
Ariane 5
• June 4, 1996• European Space Agency lost newest rocket,
the Ariane 5, successor to the Ariane 4
![Page 17: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/17.jpg)
Ariane 5• Youtube Link:http://www.youtube.com/watch?v=kYUrqdUyEpI• Youtube Summary:“The launch ended in failure due to an error in the software design caused by inadequate protection from integer overflow. This resulted in the rocket veering off its flight path 37 seconds after launch, beginning to disintegrate under high aerodynamic forces, and finally self-destructing by its automated flight termination system. The failure has become known as one of the most infamous software bugs in history. The failure resulted in a loss of more than US$370 million.”
![Page 18: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/18.jpg)
Therac 25
• Late 1980's.• Radiation therapy device with 3 modes:
– light: for alignment– electron: low power, magnets to spread beam– X-ray: high power, flattener plate to spread
beam• Needed flattener plate in place in X-ray
operation.
![Page 19: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/19.jpg)
Therac 25• Great Explanation and Graphics:• http://www.youtube.com/watch?
v=izGSOsAGIVQ
![Page 20: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/20.jpg)
Others:
• 1998 GM ABS recall• 2003 East Coast Power Failure: power cut to parts
of at least 5 states (cost, $7-$10 billion)• 2004: Air traffic control system shuts down voice
communication system in southwest US, losing contact with 400 aircraft in flight.
• 2009: Washington DC Metro crash kills 9 people: train under software control at the time
![Page 21: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/21.jpg)
Assignment Due Before Next Class• A: find two other software failures that have resulted in
significant harm (loss of life, serious risk, or loss of money) in the past 3 years. Attempt to identify the root cause of the failure.
• B: Describe two approaches to eliminating the types of software failures you identify.
• You must find no less than two independent citations for each.
• Legitimate citations include IEEE or ACM publications, web sites sponsored by Fortune 500 companies, or Prentice-Hall, Wiley, O’Rielly, Addison-Wesley, or Microsoft Press. Or anything by Parnas or McConnell.
• You must include your citations.
![Page 22: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/22.jpg)
This is a course about:
• Recognizing, making explicit, and understanding the phases or tasks of developing software
![Page 23: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/23.jpg)
This is a course about:
• Recognizing, making explicit, and understanding the phases or tasks of developing software
• Communicating – between stakeholders and developers– among developers– Among tasks and phases
![Page 24: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/24.jpg)
This is a course about:
• Recognizing, making explicit, and understanding the phases or tasks of developing software
• Communicating – between stakeholders and developers– among developers– Among tasks and phases
• Building reliable, useful, correct software in cost-effective manner
![Page 25: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/25.jpg)
Why a project?
![Page 26: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/26.jpg)
Why a project?
• Experience is better than just spitting back what we tell you.
• Employers know this, and will ask at your interviews.
• It gives you the chance to think "outside the box" out of the context of class
![Page 27: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/27.jpg)
"The hardest single part of building a system is deciding what to build."
Brooks. • requirements elicitation: developers and
customers discover and articulate users' needs• requirements analysis: analyze the customer and
user needs to arrive at a definition • requirements specification: develop a document • requirements verification: show the document is
correct • management of requirements: control the
process
![Page 28: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/28.jpg)
Why software projects fail (Software Runaways, Robert Glass, 1998, Prentice)
• runaway: – fails to deliver or is 30% or more over budget
• faulty specification 51%• faulty planning and estimation 48%• based on unstable new technology 45%• inadequate management: 42%• lack of senior programming staff: 42%• problems with hardware/software from vendors: 42%
![Page 29: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/29.jpg)
Problems with Specifications
• too many specs: project is large• unstable specs• ambiguous specs• incomplete specs
![Page 30: CS 4310 Software Requirements Engineering](https://reader036.vdocuments.net/reader036/viewer/2022062411/5681690f550346895de027d0/html5/thumbnails/30.jpg)
Outline of course:
• Build software teams• Interview customer, interview report• Feasibility study• Prototype• Analysis: use cases, diagrams, modeling• Specification (SRS)• Tracing