Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

Trng i hc Cng nghip Tp.

HCM
Khoa Cng ngh Thng tin
I ntroduction of Software Engineering
GV: L Ngc Tin
Email: letien.dhcn@gmail.com
Blog: http://tienhuong.wordpress.com
2
What is Software Engineering (SE)
Software has become critical to advancement in
almost areas of human endeavour. However, there are
serious problems in cost, timelines,
maintenance and quality of many software
products.
Software engineering has the objective of solving the
problems of software by producing good quality,
maintainable software, on time, within budget.
3
Definition of Software Engineering
Software engineering is the establishment and use of
sound engineering principles in order to obtain
economically software that is reliable and works
efficiently on real machines
A discipline whose aim is the production of quality
software, software that is delivered on time, within
budget, and that satisfies its requirements.
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)
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 and
analyze real world events as they occur (weather
forecasting)
Embedded Software: placed in ROM of the
product and control various functions of product
Business Software: designed to process business
applications (employee management, account
management)
6
Software applications (cont)
Artificial Intelligence Software: used to solve
complex problems that are not amenable to
computation (artificial neural network, signal
processing)
Web based Software: the software related to web
applications (HTML, DHTML)
Engineering and Scientific Software: Huge
computing is required to process data (CAD/CAM
package, MATLAB)
7
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
Usability
Software must be usable by the users for which
it was designed
8
Terminologies
Product: what is delivered to customer, it may
include: 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) a
product. An efficient is required to produce good
quality products.
9
Terminologies (cont)
Deliverable: What are generated during
software development, example: source code,
user manual
Milestone: the events that are used to ascertain
the status of the project, example completion of
design documentation is milestone.
10
Terminologies (cont)
Generic and Customized Software products:
Generic products: developed for anonymous
customers, example operating system
Customized products: developed for
particular customers.
11
Role of Management in Software Development
The management of software development is
dependent on four factors:
People
Product Project
Process
Dependency
Order
1
2
3
4
12
1 - PEOPLE
Require good manager: A good manager can not
ensure the success of the project but increase the
probability of success.
Manager face challenges:
Plan for the best.
Be prepared for worst, expect surprises, but
continue to move forward anyway.
The responsibility of manager: Motivate,
encourage, guide and control the people of
his/her team.
13
2 - PRODUCT
Product is what we want to deliver to customers.
So the objective and scope of work should be
defined clearly.
It may help the manager to select the best solution
within constraints imposed by delivery
deadlines, budgetary restrictions, personnel
availability.


14
3 - PROCESS
The process is the way in which we produce
software.
If the process is weak, the end product will
undoubtedly suffer.
There are many life cycle models process improve
models. Depending on the type of project, a
suitable model is selected.
15
4 - PROJECT
A proper planning is required to monitor the
status and to control the complexity.
In order to manage a successful project, we must
understand what can go wrong and how to do it
right.
We should define concrete requirements and
freeze them.
Trng i hc Cng nghip Tp.HCM
Khoa Cng ngh Thng tin
Thank You
GV: L Ngc Tin
Email: letien.dhcn@gmail.com
Blog: http://tienhuong.wordpress.com

You might also like