Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….

Similar presentations


Presentation on theme: "SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion…."— Presentation transcript:

1 SOFTWARE ENGINEERING Chapter 1

2 Introduction We can’t run the modern world without software. Why? Discussion….

3 National infrastructures and utilities are controlled by computer-based systems and most electrical products include a computer and controlling software. Industrial manufacturing and distribution is completely computerized Entertainment, including the music industry, computer games, and film and television, is software intensive. And many more…………..

4 Therefore… Software engineering is essential for the functioning of national and international societies

5 Software Systems Software systems are abstract and intangible Not constrained by the properties of materials, governed by physical laws, or by manufacturing processes. This simplifies software engineering, as there are no natural limits

6 But…. Because of the lack of physical constraints, software systems can quickly become extremely complex, difficult to understand, and expensive to change.

7 History … The notion of software engineering was first proposed in 1968 at a conference held to discuss what was then called the 'software crisis'. Early experience, informal software development was not good enough. New techniques and methods were needed to control the complexity inherent in large software systems.

8 1970s and 1980s, a variety of new software engineering techniques and methods were developed, ◦ Such as structured programming, information hiding and object-oriented development. ◦ Tools and standard notations were developed.

9 Software systems There are many different types of software systems, from simple embedded systems to complex, worldwide information systems.

10 Pointless to look for universal notations, methods, or techniques for software engineering Why? ◦ Different types of software require different approaches. Discuss organizational information system Vs controller for a scientific instrument.

11 Software failures Many reports of software projects going wrong

12 Factors for software failures Increasing demands Low expectations

13 Increasing demands Systems have to be built and delivered more quickly Larger, more complex systems New capabilities that were previously thought to be impossible. Software engineering methods cannot cope these requirements

14 Solution New software engineering techniques have to be developed to meet new these new demand

15 Low expectations Easy to write computer programs without using software engineering methods and techniques Do not use software engineering methods for developments These soft wares are often more expensive and less reliable

16 Solution Better software engineering education and training

17 PROFESSIONAL SOFTWARE DEVELOPMENT

18 Software development Individual development/amateur software development ◦ Develop software for own use Professional software development

19 Professional software? Intended for use by someone apart from its developer Usually developed by teams rather than individuals. It is maintained and changed throughout its life includes techniques that support program specification, design, and evolution and maintence

20 What is a Software? Discussion

21 Not just the programs themselves But also all associated documentation and configuration data that is required to make these programs operate correctly Its a package

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

23 Software products There are two kinds of software products Generic products Customized (or bespoke) products

24 Generic products These are stand-alone systems that are produced by a development organization Sold on the open market to any customer who is able to buy them. Examples: ◦ word processors, drawing packages, and project-management tools.

25 Vertical applications It also includes so-called vertical applications designed for some specific purpose library information systems, accounting systems systems for maintaining dental records.

26 Customized (or bespoke) products These are systems that are commissioned by a particular customer. develops the software especially for that customer Ex: systems written to support a particular business process,

27 Generic Vs Bespoke Generic products, the organization that develops the software controls the software specification. For custom products, the specification is usually developed and controlled by the organization that is buying the software. ◦ The software developers must work to that specification.

28 But Now… Distinction between these system, product types is becoming increasingly blurred. Why? Generic product as a base, which is then adapted to suit the requirements of a customer. Example: SAP for ERP Systems

29 Other types of software? Based on its use and purpose System Software Application Software

30 System Software Collection of programs written to service other programs Directly control hardware resources and support the operation of application software ◦ Operating systems ◦ Program translators: Compilers and interpreters ◦ Utility Software

31 Application Software Serves the user requirement in particular application domain Word processing: MS WORD 2007 Spreadsheet :MS EXCEL 2007

32 THANK YOU


Download ppt "SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion…."

Similar presentations


Ads by Google