Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developed by Reneta Barneva, SUNY Fredonia The Product.

Similar presentations


Presentation on theme: "Developed by Reneta Barneva, SUNY Fredonia The Product."— Presentation transcript:

1 Developed by Reneta Barneva, SUNY Fredonia The Product

2 Developed by Reneta Barneva, SUNY Fredonia Software Software is the product that software engineers design and build. It encompasses: programs documentation data

3 Developed by Reneta Barneva, SUNY Fredonia Software Virtually everyone uses it directly or indirectly. It is important because it affects practically every aspect of the human life: commerce, culture, education, services.

4 Developed by Reneta Barneva, SUNY Fredonia Software Life Cycle Problem analysis understand the problem Requirements definition specify what program will do High- and low-level design how it meets requirements Implementation of design code it Testing and verification detect errors, show correctness Delivery turn over to customer Operation use the program Maintenance change the program

5 Developed by Reneta Barneva, SUNY Fredonia The Evolving Role of Software Software is an information transformer - producing, managing, acquiring, modifying, displaying, and transmitting information that can be as simple as a single bit or as complex as multimedia presentation.

6 Developed by Reneta Barneva, SUNY Fredonia The Evolving Role of Software

7 Developed by Reneta Barneva, SUNY Fredonia The Evolving Role of Software The role of computer software has undergone significant change over a time span of little more than 50 years. Reason: Improvement of hardware performance Naisbitt predicted a transformation from an industrial society to information society. The lone programmer has been replaced by a team of software experts -> importance of applying the software engineering principles.

8 Developed by Reneta Barneva, SUNY Fredonia The Evolving Role of Software However, still the software development experience the same problems: It takes long to finalize the software It is expensive All the errors cannot be detected It is difficult to measure the progress as software is being developed.

9 Developed by Reneta Barneva, SUNY Fredonia Software Characteristics 1. Software is a logical rather than a physical system element -> it is developed, not manufactured in the classical sense. 2. Software doesnt wear out. It doesnt depend on dust, vibration, abuse, temperature extremes, etc. Hardware failure

10 Developed by Reneta Barneva, SUNY Fredonia Software Characteristics Software failure During its life, software will undergo maintenance -> changes -> new defects -> … -> The failure rate level begins to rise.

11 Developed by Reneta Barneva, SUNY Fredonia Software Characteristics When a hardware component wears out it is replaced by a spare part. No software spare parts. Every software error indicates an error in the design or in the following life cycle stages. -> Software maintenance require much more efforts than software maintenance.

12 Developed by Reneta Barneva, SUNY Fredonia Software Characteristics 3. Although the industry is moving towards component-based assembly, most software continues to be custom built. Hardware manufacturing: the engineer draws the digital circuit, does some fundamental analysis, and then assemblies it through some chips. Every chip has well defined function and interface. Software development: the idea of reusability of software, however it has only begun to be achieved on a broad scale. In the 60s: scientific subroutine libraries (limited domain application) Today: to reuse not only algorithms, but also data -> OO approach. GUI has been built in such a way.

13 Developed by Reneta Barneva, SUNY Fredonia Software Applications It is difficult to develop meaningful generic categories. Information determinacy: refers to the predictability of the order and timing of information. Software can be Determinate, e.g. a program for numeric analysis calculation. Indeterminate: multiuser operating system: interruptions, the output varies as a function of the environment and time.

14 Developed by Reneta Barneva, SUNY Fredonia Software Applications System software: collection of programs written to service other programs: compilers, editors, file management utilities operating systems, drivers, telecommunication processors Real-time software: analyzes real-world events as they occur. Includes: data gathering component, analysis component, control/output component.

15 Developed by Reneta Barneva, SUNY Fredonia Software Applications Business software: payroll systems, accounting systems, inventory systems, banking software Engineering and scientific software: Biology, volcanology, mathematics, chemistry, physics, medicine, space shuttle orbital dynamics, etc. Include: numerical analysis, CAD, system simulation.

16 Developed by Reneta Barneva, SUNY Fredonia Software Applications Embedded software: Resides in ROM. Used to control products and systems for the customer. Washing machines Cars ATM, etc. Personal computer software: Word processors, spreadsheets, entertainment, database management, external networks, etc. Intuitive interface.

17 Developed by Reneta Barneva, SUNY Fredonia Software Applications Web-based software: Includes hypertext, pictures, music, motion video, and applets. Artificial Intelligence: Uses non-numerical algorithms to solve complex problems: pattern recognition, neural networks, theorem proving, expert systems, natural language recognition, etc.

18 Developed by Reneta Barneva, SUNY Fredonia Software Myths Standards exist: Standards vary a lot. We have the newest hardware: Computer-aided software engineering (CASE) tools are much more important than hardware. If we are behind the schedule, we will add more programmers: This slows down the work.

19 Developed by Reneta Barneva, SUNY Fredonia Software Myths


Download ppt "Developed by Reneta Barneva, SUNY Fredonia The Product."

Similar presentations


Ads by Google