Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
software engineering Module 1

software engineering Module 1

Ratings: (0)|Views: 63|Likes:
Published by amant

More info:

Published by: amant on Oct 09, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





 BTC 502 Software Engineering 
Lecture 1
1) SynopsisIntroduction to Software engineering
Introduction – Software and software Engg. - Phases in software development
2) Target:
At the completion of this lecture you should be able to answer questions like(a)
What is meant by software?
(b) What is software engineering?(c) List the phases of software development.
3) Introduction 
Before introducing this subject let us begin with the basics what is software? Software is not merelya collection of computer programs. There is a distinction between a program and a programming systems product. In this course, I will be introducing you to what is software engineering and what are the phases of software development. You can define software to be a collection of computer programs, procedures, rules,and associated documentation and data. The software development process is divided into phases. Each phase has got a defined output. The major phases of a software cycle are analysis, design, coding andtesting. Due time through the course I will be discussing on these phases in detail. In this lecture I willdiscuss on what is software and on the basics of software engineering. In particular we will discuss on thefollowing:(i)Software(ii)Software Engineering(iii) Phases in software development
4) Revision/Prerequisites
Read through the basics of what is meant by software and the evolution of software engineering.You can refer the following books:i) Software Engineering - Roger S. Pressman, Tata McGraw Hillii) Software Engineering - Ian Sommervilla, Pearson Education.
 BTC 502 Software Engineering 
2There is immense information available in Internet, which may help you explore the depth of thissubject.“ An Integrated Approach to Software Engineering ”, Pankaj Jalote is your prescribed textbook.You can refer these books for all the coming lectures. Please refer to pages 1 to 21 of your textbook for the portions I will be covering in this lecture.
5) Concepts:Introduction
I think the foremost knowledge you must have in order to study the subject is to know what ismeant by software? As told earlier, you can define software as the collection of computer programs, procedures, rules, and associated documentation and data. This implies that the discipline dealing with thedevelopment of software should not only deal with developing programs, but with developing all the thingsthat constitute the software.“Software Engineering is the systematic approach to the development, operation, maintenance andretirement of software.”“Software Engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation.”
 Software Engineering Approach:
The basic software engineering approach is to: Develop methods and procedures for softwaredevelopment that can scale up for large systems and that can be used to consistently produce high-qualitysoftware at low cost and with a small cycle time. The key objectives are consistency, low cost, highquality, small cycle time, and scalability. The basic approach that software engineering takes is to separatethe development process from the development process from the developed product. Design of proper software processes and their control then becomes the primary goal of software engineering.
 Phased Development Process:
A development process consists of various phases, each phase ending with a defined output. The phases are performed in an order specified by the process model being followed. The main reason for having a phased process is that it breaks the problem of developing software into successfully performing a
 BTC 502 Software Engineering 
3set of phases, each handling a different concern of software development. This ensures that the cost of development is lower than what it would have been if the whole problem were tackled together. It alsohelps in proper checking for quality and progress at some defined points during the development.
 Requirement Analysis:
Requirement analysis is done in order to understand the problem the softwaresystem is to solve. Why we need requirement analysis? It helps us in identifying what is needed from thesystem, not how the system will achieve its goals. The developer has to satisfy the client’s needs. Therequirement phase ends with a document describing all the requirements. The goal of this phase is todevelop a SRS. The two major activities in this phase: problem understanding or analysis and requirementspecification.
Software design:
The purpose of the design phase is to plan a solution of the problem specified by therequirements document. It specifies how to satisfy the needs. The output of this phase is the designdocument. The design activity is divided into two separate phases – system design and detailed design.System design, also called as top level design, aims to identify the modules that should be in the system,the specifications of these modules, and how they interact with each other to produce the desired results.During detailed design, the internal logic of each of the modules specified in system design is decided.During this phase further details of the data structures and algorithmic design of each of the modules isspecified.
The goal of the coding phase is to translate the design of the system into code in a given programming language. The aim of this phase is to implement the design in the best possible manner. Thecoding phase affects both testing and maintenance profoundly. Well-written code can reduce the testingand maintenance effort. Hence, during coding the focus should be on developing programs that are easy toread and understand, and not simply on developing programs that are easy to write. Simplicity and clarityshould be strived for during the coding phase. An important concept that helps the understandability of  programs is structured programming.
Testing is the major quality control measure used during software development. Its basic functionis to detect errors in the software. Testing not only has to uncover errors introduced during coding, but alsoerrors introduced during the previous phases. Different levels of testing are used:-The starting point of testing is unit testing. In this, a module is tested separately and is often performed bythe coder himself simultaneously along with the coding of the module. The purpose is to exercise thedifferent parts of the module code to detect coding errors.

Activity (4)

You've already reviewed this. Edit your review.
1 hundred reads
tmkiran liked this
abcccorp liked this
hitk liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->