Transcript Slide 1
LECTURE-2 Software Is a Product • Designed by software engineers. • Consists of : – Programs - that execute within a computer and provides desired functions. – Documents- describe the operation and use of the program – Data - which can be numerical, textual, pictorial, video etc. Information Software Vehicle to deliver the product Operating System Network Software Case tools In today’s lecture we will learn about the product that is to be engineered. And the process (Next class) that provides a framework for the engineering technology The following questions will addressed in today’s lecture. •What is computer software ? •Why do we struggle to build high-quality computer-based systems? •How can we categorize application domains for computer software ? •What myths about software still exist? •Software characteristics. •Failure curve for hardware •The crisis of software. Overview •Computer software is the product that designed and built by software engineers. •Software is used by virtually everyone in society. •Software engineers have a moral obligation to build reliable software that does no harm to other people. •Software engineers view computer software, as being made up of the programs, documents, and data required to design and build the system. •Software users are only concerned with whether or not software products meet their expectations and make their tasks easier to complete. HOW SHOULD WE DEFINE SOFTWARE ? A textbook description of software might take the following form: Software is (1) instructions (computer programs) that when executed provide desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3)documents that describe the operation and use of the programs. There is no question that other, more complete definitions could be offered. But we need more than a formal definition. SOFTWARE CHARACTERISTICS Software •Software is both a product and a vehicle for developing a product. •Software is engineered not manufactured. •Software does not wear out, but it does deteriorate. •Currently, most software is still custombuilt. Figure2.1:- Failure curve for hardware FAILURE RATE “Wear out” “Infant mortality” TIME FAILURE RATE Figure2.2:- Idealized and actual failure curves for software Increased failure rate due to side effects Actual curve Change Idealized curve TIME Software application System Software Real time software Scientific area, spreadsheets are moving away from Word processing , computer Business software Compilers, Expert systems editors, , Knowledge and file management based systems utilities , Software Keypad Payroll that ,control accounts monitors/analyzes/controls for receivable/payable microwave oven , Digital real, conventional numerical algorithms . ,ComputerHTML,Perl, or Java and data hypertext and a graphics , multimedia , entertainment database pattern ,operating recognition system (image components and voice),artificial , drivers , world functions inventory,MIS events in an as, automobile they , Point occur of sale issuch called transaction as, real fuel time control , aided design system simulation and other variety of visual andproving audio formats Engineering and scientific software management , personal and bussiness financial neural networks, telecommunications theorem processors , and game dashboard displays, processing and braking systems interactive applications have begun to take on applications ,playing. external network. real time and even system software Embedded software characteristic. Personal computer software Web-based software Artificial intelligence software. Types of Software • System software – it services other programs – heavy interaction with hardware, • Real-time software – data gathering component – analysis component – monitoring component • Business software – largest single software area – MIS important component • Engineering and scientific software – number crunching numerical algorithms Types of Software • Embedded software – resides in read-only memory of any appliances – controls products and system for consumers • PC software – several hundreds of applications available as software packages • Web-based software – unlimited software resource • AI software – makes use of non-numerical algorithms – expert systems, pattern recognition, games Software Crisis •Software failures receive a lot more publicity than software engineering success stories. •The software crisis predicted thirty years ago has never materialized and software engineering successes outnumber the failures. •The problems that afflict software development are associated more with how to develop and support software properly, than with simply building software that functions correctly. Software Myths Management myths. Customer myths. Practitioner’s myths. Myth? Reality? Evolving Role of Software • Software is both a product, and the means for delivering a product or service • The most important product of our time: information • Advances in hardware performance result in ever more complex software applications Important Questions • Why does it take so long to finish a software project? • Why does it cost so much to develop software? • Why do we deliver software with significant bugs still present? • Why is it so hard to measure progress during development? KEY POINTS OF TODAY’S LECTURE 1.Software is both a product and a vehicle for delivering a product. 2. Software is engineered, not manufactured. 3.Software doesn’t wear out , but it does deteriorate. 4.Most software continues to be custom built.