Computer Science Engineering : Software engineering & web technology, THE GATE ACADEMY
Introduction to Software Engineering & Information Technology
Transcript of Introduction to Software Engineering & Information Technology
Lecture 10Introduction to
Software Engineering & Information
Technology
Lecturer: Sumaira Hussain
S.M.I University
software is any set of machine-readable instructions that directs a computer's processor to perform specific operations.
Software
Application software consists of programs designed to make users more productive and/or assist with personal tasksTo make business activities more efficientTo assist with graphics and multimedia projectsTo support home, personal, and educational tasksTo facilitate communications
Application Software
Application Software
Available in a variety of forms:
Packaged softwareCustom softwareWeb applicationOpen source softwareSharewareFreewarePublic-domain software
System software
System software serves as the interface between the user, the application software, and the computer’s hardware–Utility programs
Business SoftwareBusiness software is application software that assists people while performing business activities
Word ProcessingSpreadsheetDatabase PresentationNote takingPersonal information manager Business software for phonesBusiness software suitesProject managementAccountingDocument managementEnterprise computing software
Web page authoring software helps users of all skill levels create Web pages that include multimedia and interactive content
Graphics and Multimedia Software
Software for Home, Personal, and Educational Use
Personal finance softwareLegal softwareTax preparation softwarePersonal DTP softwarePersonal paint/image editing softwarePersonal photo editing softwareClip art/image galleryVideo and audio editing softwareHome design/landscaping softwareTravel and mapping softwareReference softwareEducational softwareEntertainment software
Web ApplicationsA Web application (Web app) is a Web site that allows users to access and interact with software from any computer or device that is connected to the Internet
Application Software for Communications
Web BrowserE-MailInstant MessagingChat RoomText, Picture, Video MessagingRSS AggregatorBloggingNewsgroup/Message BoardFTPVoIP (Internet Telephony)Video Conferencing
The IEEE definition:Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).
The seminal definition:[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
SOFTWARE ENGINEERING DEFINITION
IMPORTANCE OF SOFTWARE ENGINEERING
• More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.
• It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of system, the majority of costs are the costs of changing the software after it has gone into use.
FAQ ABOUT SOFTWARE ENGINEERING
Question Answer
What is software? Computer programs, data structures and associated documentation. Software products may be developed for a particular customer or may be developed for a general market.
What are the attributes of good software?
Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable.
What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production.
What is the difference between software engineering and computer science?
Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.
What is the difference between software engineering and system engineering?
System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process.
ENGINEERING PROCESS MODEL• Specification: Set out the requirements and
constraints on the system.• Design: Produce a model of the system.• Manufacture: Build the system.• Test: Check the system meets the required
specifications.• Install: Deliver the system to the customer and
ensure it is operational.• Maintain: Repair faults in the system as they
are discovered.
GENERIC SOFTWARE PROCESS MODELS
• Waterfall• Separate and distinct phases of specification and
development• Evolutionary
• Specification and development are interleaved• Formal Transformation
• A mathematical system model is formally transformed to an implementation
• Reuse-based• The system is assembled from existing components
WATERFALL PROCESS MODELRequirements
definition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
DEFINITION OF INFORMATION TECHNOLOGY
• Information technology is the technology that uses computing with high speed communication links to spread information from one place to another.
• Computer is a very important component of information technology
• The world has become “global village” due to advancement in IT.
DEFINING INFORMATION TECHNOLOGY
• Information Technologies are systems of hardware and/or software that capture, process, exchange, store and/or present information using electrical, magnetic and/or electromagnetic energy.
ADVANTAGES OF IT• Increases production and saves time• Improves communication through
communication technology• Improves data storage and file management• Improves financial management• Electronic Bill Presentation and Payment• Improved entertainment• Globalization of knowledge