1 / 22

מבוא להנדסת תוכנה | סהר מלובני

u05deu05d1u05d5u05d0 u05dcu05d4u05e0u05d3u05e1u05ea u05eau05d5u05dbu05e0u05d4 u05e1u05d4u05e8 u05deu05dcu05d5u05d1u05e0u05d9. u05e1u05d4u05e8 u05deu05dcu05d5u05d1u05e0u05d9 u05d4u05d9u05e0u05d5 u05e4u05e8u05d9u05dcu05e0u05e1u05e8 u05d1u05eau05d7u05d5u05dd u05d4u05eau05d5u05dbu05e0u05d4, u05d4u05deu05d9u05d9u05e6u05d2 u05d7u05d1u05e8u05d5u05ea u05d4u05d9u05d9u05d8u05e7 u05d4u05deu05e1u05e4u05e7u05d5u05ea

Download Presentation

מבוא להנדסת תוכנה | סהר מלובני

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Software Engineering הנכות תסדנהל אובמ ינבולמ רהס

  2. Lecture Objectives ◼ Introduce software engineering and to explain its importance ◼ Develop a broad understanding of the software engineering domain 2

  3. Student Activity ◼ What makes software so important? ◼ A software product’s impacts our life ◼ Behind the Scene Impact ◼ Think of non-computer related business where software has a significant role 3

  4. General Observations ◼ Software is used by virtually everyone in society either directly or indirectly ◼ The economies of the world are depend on software 4

  5. Software Engineering Definition ◼ Software Engineering is concerned with theories, methods and tools for professional software development 5

  6. What is software? ◼ Computer programs and associated documentation; such as ◼ requirements, ◼ design models; and ◼ user manuals ◼ Software products may be developed for a particular customer or may be developed for a general market 6

  7. Software Types ◼ Generic - developed to be sold to a range of different customers, ◼ e.g. PC software such as Word or Excel ◼ Custom - developed for a single customer according to their specification ◼ Cooperative Solutions ◼ Starting with generic system and customizing it to the needs of a particular customer.For example, Resource Planning (ERP) system 7

  8. Software’s Dual Role ◼ Software is a product ◼ Delivers computing potential ◼ Produces, manages, acquires, modifies, displays, or transmits information ◼ Software is a vehicle for delivering a product ◼ Supports or directly provides system functionality ◼ Controls other programs (e.g. operating systems) ◼ Effects communications (e.g. networking software) ◼ Helps build other software (e.g. software tools) 8

  9. Software Characteristics ◼ To date, most software is still custom build. ◼ Different to hardware manufacturing process. ◼ However, software industry is moving towards component-based development ◼ Software does not wear out, ◼ but it does deteriorate 9

  10. Hardware Failure Failure Rate Infant Mortality Wear Out Time 10

  11. Software Failure (Ideal) Failure Rate Infant Mortality Time 11

  12. Software Failure (Realistic) Increased Failure Rate due to side Effects Failure Rate Actual Change Time 12

  13. Software Applications ◼ No clear breakdown of application types, following are some generally accepted overlapping categories ◼ System software ◼ Real-time software ◼ Business information software ◼ Engineering & scientific software ◼ Embedded software ◼ Personal application software ◼ Communication software 13

  14. Attributes of a Good Software ◼ It is not enough just to produce software ◼ Software should deliver the required functionality ◼ Software should have the appropriate product characteristics ◼ The relative importance of these characteristics varies from from product to product 14

  15. Attributes of a Good Software ◼ Characteristics relate to each other ◼ Complex ‘trade-offs’ 15

  16. Attributes of a Good Software Cost Performance 16

  17. Attributes of a Good Software ◼ Maintainability ◼ Software must evolve to meet changing needs; ◼ Dependability ◼ Software must be trustworthy; e.g. reliability, security, safety. ◼ Efficiency ◼ Software should not make wasteful use of system resources; 17

  18. Attributes of a Good Software ◼ Usability ◼ Software must accepted by the users for what it was designed. ◼ Appropriate user interface & adequate documentation. 18

  19. Important Questions ◼ Why does it takes so long to get software finished? ◼ Why are development costs so high? ◼ Why can’t we find all errors before we give the software to our customers? ◼ Why do we spend much time and effort in maintaining existing programs? 19

  20. Software Development Process ◼ A set of activities whose goal is the development or evolution of software. ◼ Generic activities in all software processes are ◼ Specification - what the system should do and its development constraints ◼ Development - production of the software system ◼ Validation - checking that the software is what the customer wants ◼ Evolution - changing the software in responses to changing demands 20

  21. Software Process Model ◼ A simplified representation of a software process, presented from a specific perspective. ◼ Examples of process perspectives are ◼ Workflow - sequence of activities ◼ Data-flow - information flow ◼ Role/action - who does what 21

  22. Key Points ◼ Software engineering is an engineering discipline that is concerned will all aspects of software production ◼ Software production consist of developed programs and associated documentation. ◼ Basic software activities are software specification, development, validation and evolution. 22

More Related