Sie sind auf Seite 1von 22

1.

Syllabus
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
II Year B.Tech. CSE -II Sem T 4+1* P 0 C 4

SOFTWARE ENGINEERING
UNIT I: Introduction to Software Engineering: The evolving role of software, Changing Nature of Software, Software myths. A Generic view of process : Software engineering- A layered technology, a process framework, The Capability Maturity Model Integration (CMMI), Process patterns, process assessment, personal and team process models. UNIT II: Process models: The waterfall model, Incremental process models, Evolutionary process models, The Unified process. Software Requirements: Functional and non-functional requirements, User requirements, System requirements, Interface specification, the software requirements document. UNIT III: Requirements engineering process: Feasibility studies, Requirements elicitation and analysis, Requirements validation, Requirements management. System models: Context Models, Behavioral models, Data models, Object models, structured methods. UNIT IV: Design Engineering: Design process and Design quality, Design concepts, the design model. Creating an architectural design: Software architecture, Data design, Architectural styles and patterns, Architectural Design. UNIT V: Object-Oriented Design: Objects and object classes, An Object-Oriented design process, Design evolution. Performing User interface design: Golden rules, User interface analysis and design, interface analysis, interface design steps, Design evaluation. UNIT VI: Testing Strategies: A strategic approach to software testing, test strategies for conventional software, Black-Box and White-Box testing, Validation testing, System testing, the art of Debugging. Product metrics: Software Quality, Metrics for Analysis Model, Metrics for Design Model, Metrics for source code, Metrics for testing, Metrics for maintenance. UNIT VII: Metrics for Process and Products: Software Measurement, Metrics for software quality. Risk management: Reactive vs. Proactive Risk strategies, software risks, Risk identification, Risk projection, Risk refinement, RMMM, RMMM Plan. UNIT VIII: Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality Assurance, Software reliability, The ISO 9000 quality standards. TEXT BOOKS: 1. Software Engineering, A practitioners Approach- Roger S. Pressman, 6th edition.McGrawHill International Edition. 2. Software Engineering- Sommerville, 7th edition, Pearson education. REFERENCES: 1. Software Engineering- K.K. Agarwal & Yogesh Singh, New Age International Publishers 2. Software Engineering, an Engineering approach- James F. Peters, Witold Pedrycz, John Wiely. 3. Systems Analysis and Design- Shely Cashman Rosenblatt,Thomson Publications. 4. Software Engineering principles and practice- Waman S Jawadekar, The McGraw-Hill companies. * Tutorial class

2. Lesson Plan
Subject Year Semester Branch : Software Engineering : II-B.Tech. : II : CSE

Text Books
Ian Somerville. Software Engineering, 7th edition. Addison Wesley. 2004. ISBN: 0321-21026-3. 1. Roger S. Pressman. Software Engineering: a practitioners approach, 6th edition. Mc GRAW-HILL. 2005. 2. Edward Yourdon, Decline & Fall of the American Programmer, Prentice Hall, Inc. 1993. Text No of Dates Name of the Topic Classes Books UNIT-I 1) Introduction -The evolving role of software 1 T1,T2 2) Changing Nature of Software, 1 T1,T2 Assigned Reading Assignment 3) Software myths 1 T1,T2 4) Software engineering- A layered technology, 1 T1,T2 5) A process framework 1 T1,T2 Reading Assignment Due 6)The Capability Maturity Model Integration (CMMI) 1 T1,T2 7) Process patterns 1 8 Process assessment 1 T1,T2 9) Personal and team process models. 1 T1,T2 Assigned Assignment -1 Total classes to complete UNIT-I 09 UNIT-II Assignment -1 Due 1) The waterfall model. 1 T2,T3 2) Incremental process models, 1 T2,T3 3) Evolutionary process models, 1 T2,T3 Assigned Assignment -2 4) The Unified process 1 T2,T3 5) Functional and non-functional requirements, 1 T2,T3 6) User requirements, System requirements, 1 T2,T3 7) Interface specification, the software requirements document. 1 T2,T3 Workshop 4 Total classes to complete UNIT-II 11 UNIT-III 1) Feasibility studies 1 T2,T4 Assignment -2 Due 2) Requirements elicitation and analysis 1 T2,T4 3) Requirements validation, 1 T2,T4 4) Requirements management 1 T2,T4 Assigned Case Study 5) Context Models 1 T2,T4 6) Behavioral models 1 T2,T4 7) Data models 2 T2,T4 8) Object models, 2 T2,T4 9) Structured methods. 1 T2,T4 Total classes to complete UNIT-III 11

ii

UNIT-IV
1) Design process and Design quality 2) Design concepts 3) The design model 1 1 1 T1,T5 T1,T5 T1,T5 T1,T5 T1,T5 T1,T5 T1,T5

Paper-Presentation
4) Software architecture

Mini-Project
5) Data design 6) Architectural styles and patterns 7) Architectural Design,

Total classes to complete UNIT-IV UNIT-V


1) 2) 2) 3) Objects and object classes An Object-Oriented design process Design evolution. Golden rules

Assigned 1 Assigned 1 1 1 7
1 1 1

T1,T5 T1,T5 T1,T5 T1,T5 T1,T5

Paper-Presentation
4) User interface analysis and design 5) Interface analysis, interface design steps 6) Design evaluation

Due
1 1

Total classes to complete UNIT-V UNIT-VI


1) A strategic approach to software testing 2) Test strategies for conventional software 2) Black-Box and White-Box testing 3) Validation testing 4) System testing 5) The art of Debugging 6) Software Quality 7) Metrics for Analysis Model 8) Metrics for Design Model 9) Metrics for testing, Metrics for maintenance.

5 1 1 1 1 1 1 6
2 2 1

T1,T5 T2 T2 T2 T2 T2
T2 T2 T2

Total classes to complete UNIT-VI UNIT-VII


1) Metrics for source code Software Measurement, 2) Metrics for software quality 3) Reactive vs. Proactive Risk strategies

Case Study
4) software risks 5) Risk identification 6) Risk projection 7) Risk refinement, RMMM, RMMM Plan

Due
1 1

1 8
2 1 1 1 2

T2

Total classes to complete UNIT-VII UNIT-VIII


1) Quality concepts 2) Software quality assurance 3) Software Reviews 4) Formal technical reviews 5) Statistical Software quality Assurance, 6) Software reliability 7) The ISO 9000 quality standards.

T2 T2 T2 T2

Mini-Project Total classes to complete UNIT-VIII Total no of Classes

Due 7 64

iii

3. Course Objectives
Software Engineering course covers technical and non-technical (management) methods, techniques, and practices used to develop software-dominated systems. This course is intended to provide the students with an overall view over Software Engineering as an engineering discipline and with insight into the processes of software development which covers a survey of techniques and practices used throughout the software development process to improve quality, increase productivity, and reduce risk; and quality assurance related to dependable systems. It also consists of open-ended design projects that incorporate fundamental and advanced concepts of software and systems. The main Objectives of this course are: 1. To foster an understanding of the basic knowledge required in a software engineering application domain track. 2. To implant in the students the knowledge to Design, select and apply the most appropriate software engineering process for a given project, plan for a software project, identify its scope and risks, and estimate its cost and time. 3. To inculcate in students the ability to apply software engineering theory, principles, tools and processes, as well as the theory and principles of computer science and mathematics, to the development and maintenance of complex software systems (including analysis, design, construction, maintenance, quality assurance and project management). 4. To imbibe the abilities to apply proper theoretical, technical, and practical knowledge of software requirements, analysis, design, implementation, verification and validation, and documentation. (The student will be able to plan and execute lifecycle steps for developing a complex software product ) 5. To confer the ability to Express and understand the importance of negotiation, effective work habits, leadership, and good communication with stakeholders, in written and oral forms, in a typical software development environment. 6. To imbibe the knowledge of current issues presently involved in effectively performing duties as a software practitioner in an ethical and professional manner for the benefit of society. 7. To make students identify the broad spectrum of applications and describe how business organizations are using software engineering for competitive advantage. This will prepare graduates to meet the needs of industry for computer scientists or to pursue graduate studies. 8. Keep abreast of current developments in the discipline to continue their own professional development and life-long learning. 9. To raise awareness of contemporary issues and evaluation of the business and impact of potential solutions to software engineering problems in a global society,

iv

4. Learning/Program Outcomes
I) Subjective outcomes: After the successful completion of the software engineering program/course Students shall be able to demonstrate: An ability to Use knowledge about the software process and software engineering practices to select and justify approaches to use given a project, its teams, and its constraints. An ability to describe quality assurance important for all software projects An ability to understand and apply software design patterns, so to design software that is easier to understand and maintain. An ability to plan and execute lifecycle steps for developing complex software product. An ability to develop and document various analysis and design artifacts, and various structural and interaction diagrams. An ability to formulate an effort estimation plan and perform the associated software measurements. Ability to Verify validates, assess and assure the quality of software artifacts. An ability to Design, select and apply the most appropriate software engineering process for a given project, plan for a software project, identify its scope and risks, and estimate its cost and time. To apply software engineering theory, principles, tools and processes, as well as the theory and principles of computer science and mathematics, to the development and maintenance of complex software systems. To resolve conflicting project objectives considering viable tradeoffs within limitations of cost, time, knowledge, existing systems, and organizations. To develop appropriate design solutions to a given problem using software engineering approaches that integrates ethical, social, legal, and economic concerns. To keep abreast of current developments in the discipline to continue their own professional development engage in lifelong learning of software engineering theories and technologies and will be able to purse higher studies. To express and understand the importance of negotiation, effective work habits, leadership, and good communication with stakeholders, in written and oral forms, in a typical software development environment. To recognize and be guided by the social, professional, legal, ethical issues involved in the use and development of computer & software technology. To interact professionally with colleagues or clients located abroad and the ability to overcome challenges that arises from geographic distance, cultural differences, and multiple languages in the context of computing and software engineering. To evaluate the business and impact of potential solutions to software engineering problems in a global society, using their knowledge of contemporary issues. v

II) General outcomes: Students should be able:

5. Prerequisites
The recommended prerequisites are 1. 2. 3. 4. Introduction to Computing Data Structures Discrete Structures Probability and Statistics for Engineers and Scientists

These Prerequisites are necessary before jumping into any deeper in this course. However, it is recognized that some students have not yet taken these Prerequisites. Therefore, we will try to accommodate the Prerequisites in the early sessions.

6. Topics Covered
6.1 Core Topics
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Introduction to Software Engineering A Generic view of Process Process models Software Requirements Requirements engineering process System models Design Engineering Creating an architectural design Object-Oriented Design Performing User interface design Testing Strategies Product metrics Metrics for Process and Products Risk management Quality Management

6.2 Topics Covered beyond the syllabus


1. In-depth study of a selected special topic relevant to software engineering 2. Software Project Management Introduction project management concepts, tools, and techniques: integration management and project planning, scope management, scheduling, budget control, human resource management, communication management, risk analysis and management, project quality management, and procurement management. 3. Software Architecture Study the concepts, principles, methods, and best practices in software architecture. Different architectural styles, patterns and product lines are presented and compared. Methods to analyze, evaluate and document software architectures are also discussed. Students participate in a group project on software architecture design.

vi

7. Textbooks/References
7.1 Textbooks:
1. Ian Sommerville. Software Engineering, 7th edition. Addison Wesley. 2004. ISBN: 0-321-21026-3. 2. Roger S. Pressman. Software Engineering: a practitioners approach, 6th edition. Mc GRAW-HILL. 2005.

7.2 Supplemental Reference:


1. Edward Yourdon, Decline & Fall of the American Programmer, Prentice Hall, Inc. 1993. 2. Software Engineering Book of Knowledge, www.swebok.org (Online Reference)

8. Actions and Assessment Plan (to improve the course to meet the objectives)
Students have to attend the lectures regularly and Scribe the Lecture notes on the day of the lecture. There are the requirements other than attending lectures.

8.1 Actions
Based on these requirements certain actions are employed to improve the course plan to meet the objectives. 8.1.1 Assignments Lightweight homework assignments are posted which will be able to cover some related research and implementation works. Instructions on the Assignments Section All the assignments should be in either printed MS Word or Written document with the following:
1) 2) 3) 4) Cover page with the name, course name and course section A page with task Assignments Solutions/Explanations No extensions allowed on the homework

The two assignments were given during the course: Assignment-1 Note: Be sure to read the instructions on the assignments section. Title: Software Development Team Selection Objectives: 1. Participate in two mock interviews 2. Summarize lessons learned 3. Prepare to: engage in "real-world" software development, maintenance and reverse software

engineering processes, involving design and analysis use a simple CASE tool perform risk analysis on existing project

vii

work with a team involving a project manager

Background Students in this course from earlier semesters and other courses have designed and coded a number of software products. Students will have first-hand experience with these versions and so can determine their strengths and weaknesses in future projects for this course. Summary Interview for a company engaged in software development for universities. This will be for the position of an entry-level software engineer with JKM & Associates. Part I: On-Campus Interview [Weeks of _________________] {Roles played: Prospective new-hire} 1. Set up an 20-minute interview with SOME students. 2. Student may wish to look at the list of types of positions for which students skills be used. 3. Fill out an application. Student will be role-playing a graduating senior seeking full-time employment. 4. At least two hours prior to the interview, bring a cover letter, the completed application and the resume. 5. At the interview time, please bring at least one sample of your "best" software product, or the one with which you are most proud. This can be a physical entity which uses your software, the complete documentation package (manuals, code, etc.), or some other manifestation. Please do not bring just a listing! Part II: In-Plant Interview [____________] Roles played: Prospective new-hire and existing team member of software team. {As existing team member} 1. Prepare a set of at least 10 questions you would pose to a prospective new hire. Do not ask trivial ones you already know from the resumes. No "givealways!" Follow up your questions with requests for examples. Make sure to include technical queries, as well as ones which would be helpful in selecting a team member. 2. Submit the report on this set by the due date to the instructor under Interview questions." 3. Review resume of prospective new hires. 4. Interview 8 applicants for the position of helping you maintain and develop software for a university environment. 5. Use at least 7 of your questions when interviewing the applicants; however, you may want to change some of your questions after hearing those of your teammates. Make sure to record such questions. 6. After the interviews are concluded submit the report on the position you would recommend for each candidate to the instructor under Recommended positions." Be sure to include yourself! viii

Assignment-2 Be sure to read the instructions on the assignments section. Answer the following question. Students may use illustrations and diagrams to enhance explanations. Question 1: Suppose that you are developing software for a Student Admission System for a University. Select the most appropriate mode (PC based or web based) for the project, and use the COCOMO model to give a crude estimate of the total number of person months required for the development, assuming that the estimated software size is 5000 lines of code. Question 2: A commonly used Software Quality measure in industry is the number of known errors per thousand lines of product source code. Compare the usefulness of this measure for developers and users. What are the possible problems with relying on this measure as the sole expression of Software Quality? Question 3: Why is reliability an external attribute of the software? List three internal product attributes that could affect reliability. Submission Details: Create a single zipped file with all the source code and additional files that might be needed for demo. No later submission will be accepted, except for health reasons.

ix

8.1.2 Mini project Instructions on the Mini-Projects This is a group project, with two or three students in each group, and of course, all students in a group will receive the same mark for the project. Requirements Students are required to submit Project Report: The report must describe the system architecture: all the major modules (classes/methods) used in the system, and relationships among them. For each module, the report must explain how the solutions were implemented, and list all the Commands and statements used. The explanation should be a concise high level description such that the implementation can be easily understood by its readers. The report should be written in font size 12 and at most 10 pages.
o

Source Code: students must explicitly acknowledge use of any source code that has not been developed by them. Follow all the proper programming guidelines learned in the previous courses and add proper comments to make the programs readable.
o

User Documentation: students must submit an electronic copy of the user documentation. The user documentation must contain
o

The installation guideline that tells the user how to install the system; and A user manual for each module. The document must also be accessible in the web page in the form of help menu.

Each group will be asked to demo the system. The demo will last at most 30 minutes, and please make sure the project compiles and runs correctly on the lab machine and the web-pages display correctly using the browser available in the lab machines.

Students must make sure their system is ready before the scheduled demo. No later submission will be accepted. The mark for the project report, and user documentation will be based on the understanding of the application system, the description of the implementation strategies, clarity of the document, and of course, English writing. Students must follow proper programming guidelines learned in the previous courses. Poorly documented programs and ill program logics will lead to the deduction of marks. Submission Details Create a single zipped file with all the source code and additional files that may need for the demo.

MINI-PROJECT Be sure to read the instructions on the assignments section. Title: -Creation of Individual Home Page on World-Wide Web of Internet Objectives Develop a useful and working software product for a wide user base, including prospective employers. Develop appreciation for software re-use (benefits and pitfalls), by evaluating earlier related products, [and then choosing sections for re-use].

Pay particular professionalism.


attention

to

issues

of

copyrights,

ethics,

and

Evaluate the product of other students and present the results in a formal format, using a MECCA model Learn and use HTML, if a novice (rating of [0,5), or JAVA, if expert [5,10]. Make use of existing software engineering standards. Use project management tools on a small project.

Project Summary The Computer Science Department of CMR Institute of Technology, Medchal currently has the web home page. In this mini project the students have to To investigate some other home pages, to serve as a baseline, to learn how their predecessors accomplished their goals. Exercise that very precious quality of creativity, combined with competence, to create their own home page. All of the combined efforts should then be linked to the Computer Science Department home page under "CS graduates" by a daemon. To evaluate the strengths and weaknesses of the product of the classmates, using a formal evaluation tool and then compare their final product with others, using the same model. The immediate customers for this project will be an employer (in the guise of the instructor) and some of his "employees" students fellow classmates. This is really a two-part project: 1. Develop the own home page including "about you" and a resume, and 2. Evaluate the home pages of the classmates. Even though this is an individual project, and smaller than others students will be working on, planning is still vital. Some (not all...) of the tasks you may wish to consider include: 1. 2. 3. 4. 5. 6. Planning Requirements analysis Design Implementation QA, including testing Documentation xi

7. Evaluations 8. Presentation of results Deliverables on next class day (as Developer -- one copy) Tentative work plan, including Person-loading chart, Gantt chart. Final Deliverables on schedule (as Developer -- two copies) 1. Hard copy of your software product 2. Source code listing of your software product 3. URL address of your home page Deliverables (as Evaluator -- two copies) Final Report. Evaluation The evaluation on this project will be based on several criteria! Some criteria include: Budget: estimated vs. real (less is better, all other criteria being equal) Schedule: estimated vs. real (earlier is better, all other criteria being equal) Analysis and design documentation Code and documentation Test plan/executions Evaluations: MECCA models Lessons learned Presentation of results in reports. Format for Final Report Binder: Cover sheet (names, class, date, etc.) Three ring binder. Table of contents 1. Executive summary 2. Concise description of problem addressed and results 3. Problem statement 4. Analysis 5. Design 6. Evaluations 7. Budget Person-loading schedule (include the original marked-up WAG) Estimated vs. actual (dates of each) 8. Schedule Gant chart (include the original marked-up WAG) estimated vs. actual (dates of each) 9. Reality vs. Predictions Discuss any discrepancies between estimates and actual results for budget and schedule 10. Log Book

xii

8.1.3

Work shop/Seminar Seminar/Work shop in Software Engineering


1. Title of subject 2. Subject code 3. Status of subject 4. Semester 5. Pre-Requisite Seminar/work shop in Software Engineering SOFTWARE ENGINEERING CORE Year 2, Semester-2 1. Introduction to Computing 2. Data Structures 3. Discrete Structures 4. Probability and Statistics for Engineers and Scientists Lecture and Seminar 50% Assignments and Case Studies 50% Presentation Total 100% GUEST LECTURER To expose students to the theoretical and practical applications in software engineering and architecture, through workshop discussions that require heavy emphasis on class participation and presentation. This course aims to fulfill the capstone requirement in software engineering and architecture. In the theoretical part, students will learn about the principles and methods of software engineering and architecture, including current and emerging practices and support tools. In the practical part, students will become familiar with the development of software products from an industry perspective, including generation of appropriate documents, under tight schedules and limited resources. By the end of the subject, students should be able to understand: The practise (theory and practical aspects) of creating and maintaining software applications by applying technologies and practices from computer science, engineering, project management, application domains and other related fields. The representation of an engineered software system and the process and discipline for effectively implementing the design(s) for such system. Programme Outcomes Acquisition and broadening of knowledge in advanced concepts and best practices in software engineering and architecture. Strengthening of practical, analytical and management skills in software engineering and architecture. Enhancing professional skills in career-related areas. Adaptability and passion for learning. Cultivation of innovative minds and development of entrepreneurial skills. Understanding moral, professional ethics and responsibility. 12. Details of subject Total Topics Covered
% of
contribution

6. Methods of teaching 7. Assessment 8. Teaching staff (Proposed) 9. Objective of subject 10. Synopsis of subject

11.Learning Outcomes

10 % 30 % 30 % 10 % 10 % 10 % 100 % Hours

xiii

1.

2.

3.

4.

5.

6.

7.

Software Engineering and Architecture Revolution Principles of software engineering and architecture, Programming-in-the-small versus programming-in-thelarge, Software crisis, Tools. Workshop Discussion 1: Software Process and Project Management Software lifecycle, Team dynamics, Human factors, Usability, Project planning, Project control, Project organization, Risk management, Cost models, Configuration management, Version controls, Quality assurance, Metrics. Workshop Discussion 2: Software Requirements and Designs Requirements analysis, Requirements solicitation, Requirements definition, Requirements specification, Requirements review, Static and dynamic specification, Analysis tools, Design for reuse, Design for change, design notations, Design evaluations and validations Workshop Discussion 3: Designing the Software Modules and Communications Client server, Distributed computing, Peer-to-peer, Blackboard, Implicit Invocation, Pipes and filters, Plugin, Monolithic system, Three-Tier model, Structured, Software componentry, Service-oriented architecture. Workshop Discussion 4: Software Implementation and Maintenance Programming standards and procedures, Modularity, Data Abstraction, Static analysis, Testings and tools, Fault tolerance, Maintenance problem, Nature of maintenance, Planning for maintenance. Workshop Discussion 5: Current Issues and Future Trends Software design pattern, Software antipatterns, Standard data models, Development of new tools to support: quality system design, multiple system views, methodology independent, user interface, communication with other tools, documentation production, resource requirements, and computer environments. Seminar (Guest Speakers) Half-day to a full-day seminar from the industries or practitioners of software engineering and architecture. Total Contact Hours Refer ences

4 28

13. Text

Pressman, R., Software Engineering: A Practitioners Approach. 6th Edition, McGraw-Hill, 2004. Bass, L., Clements, P., and Kazman, R., Software Architecture in Practice. 2nd Edition, Addison-Wesley Professional, 2003. Other reference materials will include journal publications, conference proceedings, published standards and white papers that will be announced by the lecturer.

xiv

8.1.4

Paper presentation Software Engineering Paper Presentations Every student in the class will present one paper from the reading list. There will be ONE paper presentation for the semester. The presentations will start on due date. Each presentation will be around 20 minutes. Choosing Papers Choose papers from the following list of papers. Selection is on a firstcome first-serve basis. Paper Presentations The presenter of a paper should have read and understood it thoroughly. In case you have problems understanding what's going on, talk to the instructor. The presentation should summarize the key problems, approaches, solutions, results, etc. Since there are only 20 min for the talk, the overall level of detail should be relatively high. However, there should be at least a few slides that go into more depth; examples are particularly helpful. Make sure you understand and describe the main technical contributions, as well as the limitations and the unsolved problems. See also "Things to Look For" below for additional guidelines on some of the key issues that need to be addressed in the talk. Aim for about 15-20 slides, landscape format, font size at least 24pt (32pt and 28pt are much better), with relatively few words on them, and with good use of colors and pictures. Things to Look For Contributions: what's new in the paper? How substantial is it compared to the previous work? What makes this paper worth publishing? Is there a lot of new research, or were the authors aiming for the "least publishable unit"?

Limitations: Where did they cut corners? What issues did they ignore? What are the simplifying assumptions? How serious are these limitations?

Future work: What's next? What could be the next problems to be addressed? How can this line of research be continued?

Strengths and Weaknesses: What is your overall opinion of the paper is this a good paper? What are the strong points and the weaknesses (e.g. in the problems being solved, in the contributions, in the organization/language/etc.)?

xv

8.1.5

Case Study During the lectures the students will be asked to discuss the case studies relevant to the concepts discussed during the lecture. Each student should write a report discussing their approach in resolving problems, finding new solutions based on the discussion held in the class and other resources. The case study reports are due on Fridays at 2. Students are expected to submit their case study reports to the instructor. There will be 3 case studies in total. Case: ARIANE 5 Flight 501 Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight
In June 1996, the new Ariane 5 rocket was launched on its maiden flight. It carried a payload of scientific satellites. Ariane 5 was commercially very significant for the European Space Agency as it could carry a much heavier payload than the Ariane 4 series of launchers. Thirty seven seconds into the flight, software in the inertial navigation system, whose software was reused from Ariane 4, shut down causing incorrect signals to be sent to the engines. These swivelled in such a way that uncontrollable stresses were placed on the rocket and it started to break up. Ground controllers initiated self-destruct and the rocket and payload was destroyed.

This case study illustrates issues with requirements specification, multiorganizational working, critical systems validation and some of the problems of software reuse. The example illustrates that good software engineering practice (reuse, don't introduce changes unless necessary) can have problems. It also shows the organizational complexity of systems development and how organizational issues can lead to systems failure. On the basis of the documentation made available and the information presented to the Board, the following has been observed: The weather at the launch site at Kourou on the morning of 4 June 1996 was acceptable for a launch that day, and presented no obstacle to the transfer of the launcher to the launch pad. In particular, there was no risk of lightning since the strength of the electric field measured at the launch site was negligible. The only uncertainty concerned fulfillment of the visibility criteria. The countdown, which also comprises the filling of the core stage, went smoothly until H0-7 minutes when the launch was put on hold since the visibility criteria were not met at the opening of the launch window (08h35 local time). Visibility conditions improved as forecast and the launch was initiated at H0 = 09h 33mn 59s local time (=12h 33mn 59s UT). Ignition of the Vulcain engine and the two solid boosters was nominal, as was liftoff. The vehicle performed a nominal flight until approximately H0 + 37

xvi

seconds. Shortly after that time, it suddenly veered off its flight path, broke up, and exploded. A preliminary investigation of flight data showed: nominal behaviour of the launcher up to H0 + 36 seconds; failure of the back-up Inertial Reference System followed immediately by failure of the active Inertial Reference System; swiveling into the extreme position of the nozzles of the two solid boosters and, slightly later, of the Vulcain engine, causing the launcher to veer abruptly; Self-destruction of the launcher correctly triggered by rupture of the links between the solid boosters and the core stage.

The origin of the failure was thus rapidly narrowed down to the flight control system and more particularly to the Inertial Reference Systems, which obviously ceased to function almost simultaneously at around H0 + 36.7 seconds. Questions: What are the lessons leaned in this case study What are the avoidable failures in this case? What caused the failure?

xvii

8.1.6

Reading assignments As a preparation towards the lecture, the students are expected to read the reading material ahead of time. Each student is expected to write a one page summary (about 500 words) of the reading material that they have read before coming to the class. This report should be submitted to instructor (either in PDF or word formats) and Presented in the class. There will be 1 reading assignment. The students can choose to submit 1 out of 3 towards a total

8.1.7

Mid Term Question Paper (Sample Question Paper CMR INSTITUTE OF TECHNOLOGY
Kandlakoya(V), Medchal Road, Hyderabad 501 401

Internal Subjective Test I


Course : II- B.Tech. II - Semester Sub : Software Engineering Date : __________________ Note: 1. Answer to any Four of the following Six questions. 2. Each question carries equal marks. What do you mean by Software Engineering? Explain the Software Engineering Layers? With the help of the diagram discuss in detail Waterfall Model. Give certain reasons for its failure? Elaborate on requirements Elicitation and Analysis Process. 1. Illustrate on the following Software Attributes. (a) Functionality (b) Usability (c) Reliability (d) Performance (e) Supportability 2. Discuss various phases of the Unified Process in detail. 3. Write short notes on (a) Data flow Model (b) State Machine Model. Branch : CSE / IT Time : 1 hr. 30 minutes Max Marks: 20

xviii

8.2 Evaluation/Assessment Plan for actions:

All the assignments, mini-projects, Paper presentation, and Case-studies are posted on the assigned dates. The mark for them will be based on the understanding of the application system, the description of the implementation strategies, clarity of the document, and of course, English writing. One must follow proper programming guidelines learned during the courses. Poorly documented programs and ill program logics will lead to the deduction of marks. Method of Evaluation Student learning will be evaluated on the basis of Completeness and quality of a term project/Assignment developed in several stages. Class participation

Marking Guidelines: The weight assigned to each element of evaluation will be determined by the instructor of the course during the period The Assignment will be marked according the following schema. Content Report Implementation Program Readability Weightage 25% 55% 20% Program outcomes a, b, c, k a, b c, e, k e, f

The Mini-Project will be marked according the following schema. Content Report Presentation Implementation Program Readability Weightage 15% 15% 55% 15% Program outcomes a, b, c, k f, g a, b c, e, k e, f

The Paper-Presentation will be marked according the following schema. Content Dress Sense Presentation Slides Queries Weightage 10% 55% 15% 20% xix Program outcomes d, f f, g h, j g, e

The Case-Studies will be marked according the following schema. Content Weightage Program outcomes
Report Presentation Slides Queries Dress Sense 25% 25% 25% 15% 10% a, b, c, k f, g h, j e, g d, f

The Reading Assignments will be marked according the following schema Content
Oral skills Queries Dress Sense

Weightage
75% 15% 10%

Program outcomes
f, g f, g d, f

The Mid Term Question Paper will be marked according the following schema
Question No Marks 5m 5m 5m 4(b) 5 6 (a) 6(b) 4(c) 4(d) 4(e) 5m 5m 5m

Program outcomes
a, e c c, e a, e a, c c, e

1
2 3 4 (a)

Computer Usage: Software design and documentation Software programming using programming languages Programming Experiences: Software design, documentation, and programming in a semester-long programming project, working in teams 4-6 students. Design Experiences: The term project is design-oriented in that students learn how to employ software design and lifecycle methodologies on a complex problem with real-world application. The project is also team-based, so students learn how to coordinate teamwork to accomplish much more than any individual student would be able to accomplish in a given time frame. The directed design experiences involve: 1. Determining the problem to be solved. 2. Mathematically modeling the system and solving the equations to determine appropriate values to be used in the experiment. 3. Verifying the correctness of the model and solutions with the acquired data and recorded performance. Independent Learning Experiences: 1. Term project in complex software development, xx

2. Testing (Exams)

9. Relationship of Course to Program Outcomes


a. During this course students apply their knowledge of mathematics, sciences and computer science to the modeling, analysis, and measurement of software artifacts. b. The process of experimenting and testing with software prototypes is a form of experimentation in which the hypothesis is to be tested. Debugging involves forming hypotheses about where a particular malfunction occurs and then either probing execution states or examining sources to confirm the hypothesis. c. The mini-projects which will be proffered to the students requires that they design, Implement, Analyze, use and the test software engineering applications of realistic complexity. d. The mini-projects which will be proffered to the students require that they participate effectively in team development of marketable quality software artifacts. e. Hands-on, Mini-projects direct students to Develop appropriate and alternative design solutions to a given problem using software engineering approaches that recommend the best one within limitations of cost, time, knowledge, existing systems, and organizations. f. In implementing the mini projects, students will recognize and the social, professional, legal, ethical issues involved in the use and development of soft. g. As part of the Paper Presentation and mini project presentation students will demonstrate their communicate Skills. h. Students will be tutored to use the techniques to solve problems relevant to societal and economic needs. Hands-on, Mini-projects direct students to solve challenging engineering design problems, including the real-world difficulties of integrating the ability to evaluate the business and impact of potential solutions to software engineering problems in a global society. i. During this course, students can conquer the ability to acquire the foundations to be a life-long learner of software engineering theories and technologies. j. During this course students will employ using their knowledge of contemporary issues and new trends to evaluate the business and impact of potential solutions to software engineering problems. k. During the Mini-Project, Assignments and Paper Presentation Students are exposed to the appropriate methods and tools for the specification, design, implementation, and evaluation of software systems.

xxi

Course Objectives I II III IV V VI VII VIII IX

a X X X X X X

b X X

c X X X X X

Program Outcomes d e f g h X X X X X X X X X X X X X X X X X X

i X X X X X X X X

j X X

k X X X X X X

10. Course Objectives / Program Outcomes matrix


________

xxii

Das könnte Ihnen auch gefallen