Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Engineering and Software Processes: An Overview, Lecture notes of Introduction to Software Engineering

An introduction to the importance of software engineering and software processes. It discusses the evolution of software and its impact on various industries, the nature of software, and the challenges faced by software engineers. The document also introduces the concept of software engineering and its focus on quality, and presents a generic process framework for software engineering. It concludes by discussing the importance of process assessment and improvement.

What you will learn

  • What is the dual role of software as a product and a delivery vehicle?
  • What was the initial impact of software on various industries?
  • What are the key activities involved in software engineering?
  • What is the importance of software engineering in creating high-quality software?
  • What challenges are software engineers facing today?

Typology: Lecture notes

2015/2016

Uploaded on 04/27/2016

bhavana166
bhavana166 🇮🇳

1 document

1 / 92

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction to Software Engineering
and
Software Processes
Unit 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c

Partial preview of the text

Download Software Engineering and Software Processes: An Overview and more Lecture notes Introduction to Software Engineering in PDF only on Docsity!

Introduction to Software Engineering

and

Software Processes

Unit 1

Introduction

When the computer industry started in the 1950s no one would have thought that Software would become an indispensable technology for business, science and engineering Software would enable the creation of new technologies (genetic engineering) Software would enable the extension of existing technologies (telecommunications) Software would be responsible for the demise of older technologies (like printing industry) Software would be the driving force behind the PC revolution (Wordstar, Lotus 123 ) A software company would become larger and more influential than the vast majority of Industrial era companies (GM - Auto , Exxon – Mobil - Oil , Steel ) software would slowly evolve from a product to a service as “on- demand” software

THE NATURE OF SOFTWARE

Today, software takes on a dual role. It is both a product and a vehicle for delivering a product. It is a product which you can buy (license). As a product it allows you to use the power of hardware. It also allows you to deliver the most important product of our time – information. Software which is a product creates, stores, transmits, displays information which is again a product. As the vehicle used to deliver the product, software acts as the basis for the control of the computer(OS), the communication of information(Networks), the creation and control of other programs (software tools and environment).

Software delivers the most important product of our

time— information. It manages business information to

enhance competitiveness; It provides a gateway to

worldwide information networks (e.g., the Internet),

and provides the means for acquiring information in all

of its forms.

The role of computer software has undergone

significant change over the last half-century.

Dramatic improvements in hardware performance,

profound changes in computing architectures, vast

increases in memory and storage capacity, and a wide

variety of exotic input and output options, have all

precipitated more sophisticated and complex

computer-based systems.

Cont…

Software consists of

Programs – they provide desired function, features and performance when executed. Data structures that enable programs to manipulate information. Descriptive information in both hard copy and virtual forms that describes the operation and use of the programs

Characteristics of software

( Comparison with other products) It is logical rather than physical system element.

1. Software is developed and not manufactured.

In manufacturing of a hardware product , in spite of

good design the quality may not be good due to

improper manufacturing.

But , in software product there is very little scope

of quality problems during development.

In manufacturing projects major effort and cost are

concentrated in engineering or development and

hence s/w projects can not be managed as

manufacturing projects.

Although the industry is moving toward component- based construction, most software continues to be custom built The reusable components have been created so that the engineer can concentrate on the truly innovative elements of a design, that is, the parts of the design that represent. something new. In the hardware world, component reuse is a natural part of the engineering process. In the software world, it is something that has only begun to be achieved on a broad scale. The software industry is slowly moving towards it. A software component should be designed and implemented so that it can be reused in many different

Cont…

2. Application software : stand-alone programs that solve a specific business need. Applications in this area process business or technical data in a way that facilitates business operations or management/technical decision making. In addition to conventional data processing applications, application software is used to control business functions in real time (e.g., point-of-sale transaction processing, real-time manufacturing process control- Payroll ,invoicing , ERP , Inventory etc.) 3. Engineering and scientific : has been characterized by “number crunching” algorithms. Applications range from astronomy to volcano logy, from automotive stress analysis to space

4. Embedded software : resides within a product or system and is used to implement and control features and functions for the end user and for the system itself.. Microwave ovens , washing machines , dishwashers , cell phones. 5. Product Line software : designed to provide a specific capability for use by many different customers. Product-line software can focus on a limited and esoteric marketplace (e.g., inventory control products) or address mass consumer markets (e.g., word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, and personal and business financial applications).

New Challenges

Software engineers are facing lot of challenges related

to legacy software – software developed few years ago.

But, there are new challenges which have appeared on

the horizon. Some of these are :

Open world computing The rapid growth of wireless computing may lead to distributed computing. You do not need to be connected to the network by wires. Small devices (even mobile phones) will be able to get connected to the network and the challenge will be to develop software useful on such devices. Netsourcing Developing applications to run on WWW which can be used by end users all over the world.

Cont…

Open Source where the source code is available for customers to make changes. The challenge is to build source code that is self descriptive. New Economy The economy based on ICT (information and communication technology) is called the new economy as compared to the manufacturing based economy which is now called old economy. The new economy was at peak in 1990s but then the bubble burst in the early 2000. Lot of people thought that the new economy is dead but once again we can see that it is well and alive and is evolving (Internet 2.0, new apps etc). The challenge is to develop applications that will allow mass communication and distribution using concepts which are evolving now.

 (^) Some of the reasons for the poor quality are inextensible design, poor or nonexistent documentation, poorly managed change history etc.  (^) As long as they serve their main purpose they should be used but then they will need to evolve to take care of changes in technology and changes in business requirements.  (^) You have to reengineer the system to keep it viable into the future. (Development of entirely new software will most of the times be very expensive).  (^) So the goal of modern software engineering is to “device methodologies that are founded on the notion of evolution”.

Software Myths (erroneous

beliefs)

Software projects still have cost overruns , time overruns , high failure rate , low acceptance by users. Why? Because people do not use engineering approach and still believe in and do things which are not right or proper. They are called myths. Myths can be classified as Management myths , customer myths , practitioner’s myths etc.