130 likes | 148 Views
This text discusses the importance of quality software engineering, the difference between software engineering and computer science, types of changes in software, and various kinds of software programs. It covers techniques, principles, tools, and concepts in software development.
E N D
INPUT#3 SOFTWARE ENGINEERING
QUALITY SOFTWARE? • Satisfies the needs of the users and programmers involved with it.
It does what the user wants it to do • It uses computer resources, correctly and efficiently. • It is easy for the user to learn and use. • The developers can design, code, test and maintain the system with relative ease.
What is the difference between software Engineering and Computer Science? Techniques Tools Principles Concepts QUALITY PROGRAMS
TYPES OF CHANGES • Correction – uncovering defects in the software. • Adaptation – modification to the software to accommodate changes to its external environment. • Enhancement – extends the software beyond its original functional requirements. • Prevention – enabling the software to serve the needs of its end-users, when the software deteriorates due to change.
KINDS OF SOFTWARE • System Software – a collection of programs written to service other programs. Example of these are compilers,editors and file management utilities, operating system components, drivers, telecommunications, processors. They are characterize by heavy interaction with computer hardware, heavy usage by multiple users, concurrent operation that requires scheduling, resource sharing and sophisticated process management, complex data structures and multiple external interfaces.
Real-Time Software –monitors/analyzes/controls real-world events. The elements of these software are: a data gathering component that collects and formats information as required by the application. b. Analyzes component that transforms information. C. a control/output component that responds the external environment. Ex. ATM, Bar Coding.
Business Software – is the largest single software have been applied into “Discreet Systems” Ex. Payroll, accounts receivable/payable, inventory have evolved into management information system (MIS) software that assesses one or more large databases containing business information.
What is a Software Process Model? • Engineering and Scientific Software – have been characterized by “number crunching” algorithms. Applications range from astronomy to volcanology from automotive stress analysis to space shuttle orbital dynamics and from molecular biology to automated manufacturing. It requires précised computation ex. Making robots
Embedded Software – it resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It can perform very limited and esoteric functions ( e.g. keypad control for a microwave oven) or provide significant functions in an automotive such as fuel control, dashboard displays, and braking systems.
Personal Computer Software – application software for desktop computers, word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, external network, and database access.
Web-based Software – the web pages retrieval by a browser are software that incorporates executable instructions (e.g. CGI, HTML, Perl, or Java ), and data e.g. hypertext and a variety of visual and audio formats). In essence, the network becomes a massive computer providing an almost unlimited software resource that can be accessed by anyone with a modem.
Artificial Intelligence Software – makes use of nonnumeric algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Expert Systems also called knowledge based systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and game playing are representative of applications. • Ex. Finger scanner, Voice recognition, ID scanner