Docstoc

Introduction To Software Engineering LectNo1

Document Sample
Introduction To Software Engineering LectNo1 Powered By Docstoc
					Software Engineering: Lecture number 1
Syllabus and Outline Arvind W. Kiwelekar Assistant Professor Computer Engineering Department, Dr. B. A. Tech. University Lonere-402 103 akiwelekar@gmail.com

January 5, 2009

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 1/1

Syllabus
1 2

Introduction to Software Engineering (SEPA1) Process: Generic and Agile view, Process Models (SEPA2,SEPA3, SEPA4) Requirements Engineering (SEPA7) Building The Analysis Model (SEPA8) Design Engineering (SEPA9) Creating An Architectural Design (SEPA 10) Modeling Component-level design (SEPA11) Performing User Interface Design (SEPA 12) Software Testing (SEPA 13 14) Website of the Course is: http://sites.google.com/site/awkiwelekar/

3 4 5 6 7 8 9

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 2/1

Reference Books

1

An Integrated Approach to Software Engineering 3rd Ed. Pankaj Jalote Software Engineering a Practitioners Approach, Roger Pressman Fundamentals of Software Engineering Carlo Ghezzi et.al. Software Engineering Theory and Practice, Shari Lawrence Software Engineering an Engineering Approach, James Peters Fundamentals of Software Engineering Rajib Mall Website of the Course is: http://sites.google.com/site/awkiwelekar/

2 3 4 5 6

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 3/1

Overview of Software Engineering

Time Table Preparation

Problem Solves

uses solution User

has

University Department

Provides Solution Software Engineer

Customer

developes Time Table Scheduler

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 4/1

Overview of Software Engineering

Definition Software Engineering is a discipline that provides a set of methods, techniques, and tools to solve computer-based problems. It adopts systematic approach to construct a piece of software. A comparatively new discipline.(1968).

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 5/1

Software: Definition and Nature

Definition
1

2

3

Software is instructions that when executed provided desired features, functions and performance. Data Structures that enable programs to adequately manipulate information; and Documents that describe the operation and use of the programs.

Software is developed or engineered; it is not manufactured in the classical sense. Software does not wear out Most of the software systems are custom built.

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 6/1

Changing Nature of Software

1 2 3 4 5 6 7 8

System Software Application Software Engineering/Scientific Software Product-line Software Web Applications Artificial Intelligence Software Ubiquitous Computing Open Source

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 7/1

Legacy Software

1 2 3 4 5

They provide core business functionalities. Absence of any kind of documentation Convoluted Source code Test cases are absent Poorly managed Change history

Software evolution is a process of adapting existing software to new environments or platforms.

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 8/1

What are the main elements of Software Engineering

1 2 3 4 5

Processes Products Principles Methods Tools

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University Lonere-402 2009akiwelekar@gm Software Engineering: Lecture Dr. B. 1 January 5, 103 9/1

What are the main processes in Software Engineering?

1 2 3 4 5 6 7 8

Domain Analysis High-level Design Low-level Design Coding/Programming/Implementation Testing Deployment Validation and Verification Documentation

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 10 / 1

Why do we need software Engineering

1 2 3 4

Cost-Effective development of software To build software that meets needs of customers Software To deliver software system on-time To deliver a software product that is free from any bugs and errors

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 11 / 1

Software Engineering vs Programming

1

Size: Programming targets a small applications. Software Engineering targets large applications. Complexity : Programs are simple Software are complex. Usually roles such as designer, analyst, coder, tester are played by an individual in case of programming. For software engineering these roles are played by a team of individuals or organization. To deliver software system on-time

2 3

4

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 12 / 1

Software Product Quality
1 2 3

4 5 6 7 8 9 10 11 12

Correctness(Internal, Mathematical, Absolute) Reliability (External, Statistical, Relative) Robustness (External, Relative, Unspecified Behavior/ Specified Behavior) Performance (Measurable through mathematical model, Internal, ) Usability (External, Subjective) Verifiability (Internal) Maintainability (Internal) Re usability (Internal) Portability (Internal) Understandability (Internal) Interoperability (External) Productivity (Internal)

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 13 / 1

Software Process Quality

1 2 3 4 5

Reliability Robustness Performance Re usability Revolvable

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 14 / 1

Software Engineering and Other Disciplines

1 2 3 4 5 6 7 8 9 10

Programming Languages Operating Systems Databases Networks Artificial Intelligence Formal Subjects Systems Engineering Management Economics Ethics

Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,number A. Tech. University January 5, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 1 Lonere-402 103 15 / 1


				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:1161
posted:1/4/2009
language:English
pages:15
Description: Lecture Slides for First Lecture