IIT Bombay
Computer Programming
Dr. Deepak B Phatak
Dr. Supratik Chakraborty
Department of Computer Science and Engineering
IIT Bombay
Session: Introduction to Software Engineering
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 1
Overview
IIT Bombay
• Programs written to make computers work for us, are collectively
referred to as Software
• As the size of software becomes large, we need special techniques to
manage software development, usage, and maintenance
• In this and the following session, we will discuss concepts of Software
Engineering, to handle such large systems
• In this session, we will introduce some basic terms
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 2
Categories of Software
IIT Bombay
• System Software
• Application Software
• Embedded software
• Web applications
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 3
System Software
IIT Bombay
• Operating System
• Compilers for Programming Languages (3GL)
• 4GL (SQL used in Data Bases)
• Rapid Application Development (RAD) Tools
• IDE (Integrated Development Environment)
• Scripting languages
• HTML, JavaScript, XML, …
Tools To Build Software Keep Evolving
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 4
Application Software
IIT Bombay
• Software written to solve practical problems
• Determines functionality needed by people
• Accounting, Payroll, Inventory Control
• Software for operations of Banks (Core banking)
• Railway and Airlines reservation system
• Simulators, Equation solvers, genome sequencing
Software is characterized by large size, has complex functions, is used
by a large number of people, and requires significant time and efforts
• Packaged Software, customized to local requirements
• Bespoke Development
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 5
Embedded Systems
IIT Bombay
Software inside any gadget or appliance
• Washing machine, TV set, watch, camera, lift, car, aircraft, …
• Equipment in manufacturing Plant
• Medical instruments and equipment
• Some special characteristics of Embedded Software
• Code size has to be ‘compact’
• Changes in versions are difficult
• Development cycle is longer
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 6
Web Applications
IIT Bombay
• Application software, where
• End-user has a web (browser) based interface
• Connects to one or more back-end systems through network
• Distributed applications
• Go to airlines reservation site to book a ticket
• Guided to a payment system gateway
• Further guided to your bank or credit card system
• May be guided to other sites such as hotel booking
• Applications have to interface and interact with each other
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 7
Summary
IIT Bombay
• We have studied categories of software
• We understand that large coordinated efforts are required to build,
operate and maintain software
Dr. Deepak B. Phatak & Dr. Supratik Chakraborty, IIT Bombay 8