Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 1 Introduction. 2 Objectives  Introduce the subject of software engineering  Set out the answers to key questions about software engineering.

Similar presentations


Presentation on theme: "1 Chapter 1 Introduction. 2 Objectives  Introduce the subject of software engineering  Set out the answers to key questions about software engineering."— Presentation transcript:

1 1 Chapter 1 Introduction

2 2 Objectives  Introduce the subject of software engineering  Set out the answers to key questions about software engineering  Introduce ethical and professional issues and explain why they are of concern to software engineers

3 3 Computers Today  Society has become computer dependent  Almost touches all aspects of our lives Everyday appliances Automobile systems Health and financial records are all stored in databases.  Software is important. However new technologies has increased the complexity of software systems developed.

4 4 What is software?  Software is a product that software engineers design and build  It encompasses programs, documents, and data Software ProgramsDocumentsData Configuration files used to set up program files System documentation User documentation

5 5 Software Types  Generic products  Customized products  From which type the following products? Windows KSU registration program Aircraft control system Solitaire card game Samba bank system

6 What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production. 6

7 7 How is software different?  Software is an intangible product, while other engineering disciplines produce tangible products.  For example, civil engineering produces tangible products such as buildings and bridges.  The physics behind the structures to build a bridge is long proven.  Software is a new engineering discipline, and because it is intangible, the methods used in other disciplines to produce failure free products do not apply.

8 8 Software Engineering  Because the product is intangible, tracking the building process is an integral portion of software engineering.  Unlike the building of a bridge, the production manager can not see the product to determine its progress.  Software engineering is a methodological process for building software on time within budget and with quality attributes.[2]

9 Read this 9

10 10 Cost of Software Errors  Errors in computer software can have devastating effects 1999 Mars mission failed because an error in a Metric to English conversion formula causing NASA the loss of $125 million [1] In June of 1999, a glitch in Sun Microsystems software resulted in the corruption of information in an Oracle database causing a 22-hour system crash at the auction site eBay [2]  A well-disciplined approach to software development and management with a goal to assess every aspect of the software is necessary in a society where computers dominate.

11 11 What are the attributes of good software?  Functional attributes Services it provides  Non-functional attributes (depend on application) Maintainability Efficiency (response time, understandability of the code, modularity) Dependability (reliability, security, safety) Usability (good user interface, documentation) What do you think is the most important attribute in the following systems: A banking system An interactive game An automated insulin pump system

12 12 What is a Software Process?  Set of activities and associated results that produce a software product.  There are four fundamental activities common to all software process models SW specification SW development SW validation SW evolution

13 13 What is a Software Process Model?  A simplified description of a SW process that presents one view of that process  SW process models are based on three general models: The Waterfall approach Evolutionary iterative development Component-Based SW engineering (CBSE)  More on these models in Chapter 2

14 What are software engineering methods?  Structured approaches to software development which include system models, notations, rules, design advice and process guidance.  Model descriptions  Rules  Recommendations  Process guidance function – oriented methods Object – oriented methods (UML)

15 15 What is CASE?  CASE (Computer Aided Software Engineering)  Programs used to support software process activities such as system modeling, debugging, and testing  Some CASE tools include automatic code generation from diagrams.

16 Software costs  Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost.  Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs.  Software engineering is concerned with cost- effective software development.

17 17 SW engineering vs. Systems Analysis  What you studied in System Analysis course constitutes part of software engineering.  Software Engineering is a broader subject.  To be a software engineer, you must master several skills, one of which is analysis and design.

18 18 SW Engineering vs. Systems Analysis and Design

19 What is the difference between software engineering and system engineering?  System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system.  System engineers are involved in system specification, architectural design, integration and deployment.

20 What are the key challenges facing software engineering?  Heterogeneity, delivery and trust.  Heterogeneity Developing techniques for building software that can cope with heterogeneous platforms and execution environments;  Delivery Developing techniques that lead to faster delivery of software;  Trust Developing techniques that demonstrate that software can be trusted by its users.

21 21 Myths about SW  A general statement of objectives from the customer is all that is needed to begin a SW project  Once a program is written, the SW engineer's work is finished.  There is no way to assess the quality of SW until it is actually running on some machine.  The only deliverable from a SW project is the working program.  SW engineering is all about the creation of large and unnecessary documentation.

22 Professional and ethical responsibility  Software engineering involves wider responsibilities than simply the application of technical skills.  Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals.  Ethical behaviour is more than simply upholding the law.

23 Issues of professional responsibility  Confidentiality  Competence  Intellectual property rights  Computer misuse ACM/IEEE Code of Ethics

24 24  منصور متخرج من 9 سنوات متزوج و لديه ولدين و منذ تخرجه بدرجة البكالوريس من قسم علوم الحاسب و هو يطمح في وظيفه مناسبه لمؤهلاته و تعينه براتبها على تغطية مصاريف الحياه اليوميه  لم يصدق منصور عينيه عند وصول خطاب من الشركة الكبرى للكومبيوتر ( شركة متخصصه في انتاج البرامج المختلفه ) ليعمل بها في قسم البرمجه و تم ضمه لفريق العمل الذي يعمل على انتاج برنامج لاداره الرواتب لشركة انتاج دواجن كبرى  كانت سياسة مدير المشروع ان يعمل كل مبرمجين على انتاج احد ملفات السوفتوير المطلوب. كان علي من بلد شقيق هو المبرمج الشريك لمنصور رجل طيب و ذا ظروف جدا صعبه.  اثناء عمل منصور اكتشف الحالات التاليه فما هو برايك الذي لابد ان يقوم به منصور :  اولا : جنسين احد المبرمجين الاجانب العاملين معه في هذا المشروع هو رجل نباتي و هو من اشد انصار حقوق الحيوان و يرفض قطعا التعامل مع الشركات التي تقتل الحيوانات. اثار استغراب منصور عمله معهم على هذا المشروع لكنه اكتشف الحقيقه و هي ان جنسين لا يعلم انها شركة دواجن و عندما اثار الموضوع مع مدير المشروع ذكر له انه جنسين لم يضمن ذلك في شروط عقده لذلك اثر عدم اخباره و الاستفاده من خبرته.  ماذا يفعل منصور هل بعلم جنسين و يخاطر بعرقلة المشروع و بالتالي طرده في فترته التدريبيه من الشركة  ثانيا : من قوانين الشركة ان يكون الكود المستخدم هو من عمل المبرمجين حتى لا تدخل في مشاكل الحقوق و الملكيه لكن منصور اكتشف ان جزء من الكود الذي كتبه علي شريكه في البرمجه هو فعلا جزء من برنامج مفتوح المصدر  ماذا يفعل منصور هل يخبر مدير المشروع و يخاطر بطرد علي من الشركة و تكوين اجواء عدائية له في جو العمل الجديد  ثالثا : اكتشف منصور ان نظام الحمايه في المشروع ليس بالمستوى الكافي و عند استفساره عن ذلك عرف ان ذلك من الامور المتفق عليها مع شركة الدواجن و ذلك لتقليل الميزانيه المطلوبه لكن منصور يعلم مدى الضرر الكبير الذي قد يسببه ذلك في نظام الرواتب الجديد و كيف انه ممكن ان يتم اختراقه و تغييره بسهوله  ماذا يفعل منصور في هذه الحاله ؟

25 Activity  Read section 1.2 in our text book carefully then suggest the appropriate action for the previous cases. Explain your answer for each case relying on ethical responsibility principles stated on section 1.2.  Send it to my email ( abeercap@hotmail.com ) by at most next wed.abeercap@hotmail.com 25

26 26 References 1. PRESS&SUN-BULLETIN, The Binghamton Press Co., Binghamton, NY, October 1,1999. 2. “ Software Hell: Is there a way out? ”, BUSINESS WEEK, December 6, 1999. 3. IEEE Standards Collection: Software Engineering, IEEE standard 610.12-1990, IEEE 1993. 4. Sommerville, Ian “ Software Engineering ”, 8 th edition, Addison-Wesley.


Download ppt "1 Chapter 1 Introduction. 2 Objectives  Introduce the subject of software engineering  Set out the answers to key questions about software engineering."

Similar presentations


Ads by Google