ECP 4156 SOFTWARE ENGINEERING Trimester I Session 20022003

  • Slides: 15
Download presentation
ECP 4156 SOFTWARE ENGINEERING (Trimester I Session 2002/2003) http: //foe. mmu. edu. my/course/ecp 4156

ECP 4156 SOFTWARE ENGINEERING (Trimester I Session 2002/2003) http: //foe. mmu. edu. my/course/ecp 4156 Lecturer / Tutor Mr. R. Logeswaran Email : loges@mmu. edu. my Room : CR 4073 (FOE) Name : Lecture 1 Software Engineering 1

Course Overview u Assessment t Final Exam t Assignment / Project t Midterm Test

Course Overview u Assessment t Final Exam t Assignment / Project t Midterm Test t Tutorial 60% 20% 10% Project (assessed as assignment, presentation, quiz) u Exercises u u Reference Book : “Software Engineering: A Practitioner’s Approach”, 4 th Ed. , Roger S. Pressman, Mc-Graw-Hill, 1997 Lecture 1 Software Engineering 2

Lecture Objectives þ To define the software engineering process þ To understand the importance

Lecture Objectives þ To define the software engineering process þ To understand the importance of software engineering þ To discuss the important characteristics of software þ To understand that the quality of different applications may be evaluated differently Lecture 1 Software Engineering 3

Introduction to Software Engineering Simple program : “Write a program to get a list

Introduction to Software Engineering Simple program : “Write a program to get a list of students’ test marks, calculate the grades and print a report of the results” What the customer wants What the software developer understands What the customer gets Lecture 1 Software Engineering 4

Typical Approaches u Go to the computer and immediately write the program u Find

Typical Approaches u Go to the computer and immediately write the program u Find an old program and modify it u Discuss with friends on how to do it u Ask the lecturer for more information about the program Lecture 1 Software Engineering 5

What is Software Engineering u Software t programs that provide function & performance t

What is Software Engineering u Software t programs that provide function & performance t data structures for information manipulation t documents that describe the operations and use of the programs u Engineering t A discipline that applies scientific and technical methods in the design and production of a product Lecture 1 Software Engineering 6

Definition of Software Engineering IEEE Definition : The application of a systematic, disciplined, quantifiable

Definition of Software Engineering IEEE Definition : The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software --The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them (Boehm) Lecture 1 Software Engineering 7

Objectives of Software Engineering u To improve quality of software products u To increase

Objectives of Software Engineering u To improve quality of software products u To increase customer satisfaction u To increase productivity u To increase job satisfaction “This is not a programming course” Lecture 1 Software Engineering 8

Historical Background u Early days of computing, t programs were written to make hardware

Historical Background u Early days of computing, t programs were written to make hardware work t Programming was not a discipline, more like a hobby or “art form” u However, computer developments requires t larger programs to be developed e. g. compilers and operating systems u Programming became a profession Lecture 1 Software Engineering 9

Computer Expenditure 100% Hardware Maintenance Software Development Software Maintenance 1955 Lecture 1 1980 s

Computer Expenditure 100% Hardware Maintenance Software Development Software Maintenance 1955 Lecture 1 1980 s Software Engineering 10

Software Crisis u The large programming projects required many programmers working together u The

Software Crisis u The large programming projects required many programmers working together u The projects were not delivered on time and costs more than initial budget - software crisis u Software Engineering methods were developed to overcome these problems Lecture 1 Software Engineering 11

The Systematic Process Problem Analysis Design Models Development Solution Testing Lecture 1 Software Engineering

The Systematic Process Problem Analysis Design Models Development Solution Testing Lecture 1 Software Engineering 12

Software Characteristics u Software is developed or engineered, not manufactured in the classical sense

Software Characteristics u Software is developed or engineered, not manufactured in the classical sense u Software doesn’t “wear out” u Most software is custom-built, rather than being assembled from existing components Lecture 1 Software Engineering 13

What Is A Good Software? u Software is intangible u Good software is subjective

What Is A Good Software? u Software is intangible u Good software is subjective u Some qualities that is used to assess: - correctness - reliability - usability - integrity - reusability Lecture 1 Software Engineering 14

Software Applications u u u u Lecture 1 System Software Real-time Software Business Software

Software Applications u u u u Lecture 1 System Software Real-time Software Business Software Engineering & Scientific Software Embedded Software Personal Computer Software Artificial Intelligence Software Engineering 15