Upload
vinh-tran
View
223
Download
0
Embed Size (px)
Citation preview
8/11/2019 1 Introduction of Software Enasgineering-Std
1/16
TrngihcCng nghipTp.HCM
Khoa Cng nghThng tin
I ntroduction of Software Engineer ing
GV: L Ngc Tin
Email: [email protected]
Blog: http://tienhuong.wordpress.com
8/11/2019 1 Introduction of Software Enasgineering-Std
2/16
2
What is Software Engineering (SE)
Software has become criticalto advancement in
almost areas of human endeavour. However, there areserious problemsin cost, timelines,
maintenanceand qualityof many software
products.
Software engineering has the objectiveof solving theproblems of software by producing goodquality,
maintainablesoftware, on time, within budget.
8/11/2019 1 Introduction of Software Enasgineering-Std
3/16
3
Definition of Software Engineering
Software engineering is the establishment and use of
sound engineeringprinciplesin order to obtaineconomically software that is reliable and works
efficiently on real machines
A discipline whose aim is the production of qualitysoftware, software that is delivered on time, withinbudget, and that satisfies its requirements.
8/11/2019 1 Introduction of Software Enasgineering-Std
4/16
4
Software
Consist of:
Programs
Documents
Procedures used to setup and operate the software
system(Program is a subset of software,
or Software is a superset of programs)
8/11/2019 1 Introduction of Software Enasgineering-Std
5/16
5
Software applications
System Software:a collection of programs which
provide service to another programs (compilers,operating systems, drivers)
Real Time Software:used to monitor, control andanalyze real world events as they occur (weather
forecasting)
Embedded Software:placed in ROM of theproduct and control various functions of product
Business Software:designed to process businessapplications (employee management, account
management)
8/11/2019 1 Introduction of Software Enasgineering-Std
6/16
6
Software applications (cont)
Artificial Intelligence Software:used to solve
complex problems that are not amenable tocomputation (artificial neural network, signal
processing)
Web based Software:the software related to webapplications (HTML, DHTML)
Engineering and Scientific Software:Hugecomputing is required to process data (CAD/CAM
package, MATLAB)
8/11/2019 1 Introduction of Software Enasgineering-Std
7/167
The Attributes of Good Software
Maintainability
Software must evolve to meet changing needs
Dependability
Software must be trustworthy
Efficiency
Software should not make wasteful use of
system resources
UsabilitySoftware must be usable by the users for which
it was designed
8/11/2019 1 Introduction of Software Enasgineering-Std
8/168
Terminologies
Product:what is delivered to customer, it mayinclude: source code, specification document,user manual
Process:is the way we produce software. It is a
collection of activities that leads to (a part of) aproduct. An efficient is required to produce goodquality products.
8/11/2019 1 Introduction of Software Enasgineering-Std
9/169
Terminologies (cont)
Deliverable:What are generated duringsoftware development, example: source code,user manual
Milestone:the events that are used to ascertain
the status of the project, example completion ofdesign documentation is milestone.
8/11/2019 1 Introduction of Software Enasgineering-Std
10/1610
Terminologies (cont)
Generic and Customized Software products:
Generic products:developed for anonymouscustomers, example operating system
Customized products:developed forparticular customers.
8/11/2019 1 Introduction of Software Enasgineering-Std
11/1611
Role of Management in Software Development
The management of software development is
dependent on four factors:
People
ProductProject
Process
DependencyOrder
1
2
3
4
8/11/2019 1 Introduction of Software Enasgineering-Std
12/1612
1 - PEOPLE
Require good manager: A good manager can not
ensure the success of the project but increase theprobability of success.
Manager face challenges:
Plan for the best. Be prepared for worst, expect surprises, but
continue to move forward anyway.
The responsibilityof manager: Motivate,
encourage, guideand controlthe people of
his/her team.
8/11/2019 1 Introduction of Software Enasgineering-Std
13/1613
2 - PRODUCT
Product is what we want to deliver to customers.
So the objectiveand scope of workshould bedefined clearly.
It may help the manager to select the best solutionwithin constraintsimposed by delivery
deadlines, budgetary restrictions, personnel
availability.
8/11/2019 1 Introduction of Software Enasgineering-Std
14/1614
3 - PROCESS
The process is the wayin which we produce
software.
If the process is weak, the end product willundoubtedly suffer.
There are many life cycle modelsprocess improvemodels. Depending on the type of project, asuitable model is selected.
8/11/2019 1 Introduction of Software Enasgineering-Std
15/16
15
4 - PROJECT
A proper planningis required to monitorthe
status and to controlthe complexity.
In order to manage a successful project, we mustunderstand what can go wrong and how to do it
right.
We should define concrete requirementsandfreeze them.
8/11/2019 1 Introduction of Software Enasgineering-Std
16/16
TrngihcCng nghipTp.HCM
Khoa Cng nghThng tin
Thank You
GV: L Ngc Tin
Email: [email protected]
Blog: http://tienhuong.wordpress.com