Download presentation
Presentation is loading. Please wait.
2
TCS2411 Software Engineering1 Course Overview zLectures: attendance compulsory zTutorials: attendance compulsory y(80%) for both lecturer & Tutorial zAssessment yFinal Exam60% yProject1-Assn15% yProject2-Assn15% yMid Term Exam10% zStudy Hours
3
TCS2411 Software Engineering2 Course Materials zMain text:“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc- Graw-Hill, 2001 zReference book:“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 zIntranet: ymmlscyber
4
TCS2411 Software Engineering3 Lecture Objectives zTo define the software engineering process zTo understand the importance of software engineering zTo discuss the important characteristics of software zTo understand that the quality of different applications may be evaluated differently
5
TCS2411 Software Engineering4 A simple program “Write a program to get a list of students’ test marks, calculate the grades and print a report of the results”
6
TCS2411 Software Engineering5 Typical Approaches zGo to the computer and immediately write the program zFind an old program and modify it zDiscuss with friends on how to do it zAsk the lecturer for more information about the program
7
TCS2411 Software Engineering6 What is Software Engineering zSoftware yprograms that provide function & performance ydata structures for information manipulation ydocuments that describe the operations and use of the programs zEngineering yA discipline that applies scientific and technical methods in the design and production of a product
8
TCS2411 Software Engineering7 Definition of Software Engineering IEEE Definition: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
9
TCS2411 Software Engineering8 Another Definition of Software Engineering 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).
10
TCS2411 Software Engineering9 Objectives of Software Engineering zTo improve quality of software products zTo increase customer satisfaction zTo increase productivity zTo increase job satisfaction Software engineering is not programming. Programming is an important part of software engineering. “This is not a programming course”
11
TCS2411 Software Engineering10 Historical Background zEarly days of computing, programs were written to make hardware work zProgramming was not a discipline, more like a hobby or “art form” zHowever, computer developments require larger programs to be developed e.g. compilers and operating systems zProgramming becomes a profession.
12
TCS2411 Software Engineering11 Programs’ characteristics zPrograms before were small done by one expert person (programming is small) for one algorithm. The input was a numerical data and the output was outputted to a printer. Trouble shooting was done at the memory and registers level. zPrograms now are large and complex written by groups of people(programming in large).
13
TCS2411 Software Engineering12 Computer Expenditure Software Maintenance Hardware Maintenance Software Development 19551980s 100% Total cost
14
TCS2411 Software Engineering13 Software Crisis zThe large programming projects required many programmers working together zThe projects were not delivered on time and costs more than initial budget - software crisis zSoftware Engineering methods were developed to overcome these problems
15
TCS2411 Software Engineering14 The Systematic Process Problem Models Solution Analysis Design Development Testing
16
TCS2411 Software Engineering15 Software Characteristics zSoftware is developed or engineered, not manufactured in the classical sense zSoftware doesn’t “wear out” zMost software is custom-built, rather than being assembled from existing components
17
TCS2411 Software Engineering16 What Is A Good Software? zSoftware is intangible zGood software is subjective zSome qualities that are used to assess software: yCorrectness: a program satisfies its specifications. yReliability: a program satisfies its intended functions. yUsability: the effort required to learn, operate, prepare input, and interpret the output. yIntegrity: Control of access to unauthorized persons.
18
TCS2411 Software Engineering17 What Is A Good Software continue? yEfficiency: amount of computing resources required. yMaintainability: effort required to locate and fix errors in an operational programs. yPortability: required effort to transfer a program from one hardware/software environment to another. yTestability: required effort to test a program to ensure its performing its intended functions. yInteroperability: effort required to couple programs. yReusability: reuse of programs in other applications.
19
TCS2411 Software Engineering18 Software Applications zSystem Software zReal-time Software zBusiness Software zEngineering & Scientific Software zEmbedded Software zPersonal Computer Software zArtificial Intelligence Software
20
TCS2411 Software Engineering19 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.