Tải bản đầy đủ (.ppt) (16 trang)

Introduction of Software Engineering potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (144.46 KB, 16 trang )

Trường Đại học Công nghiệp Tp.HCM
Khoa Công nghệ Thông tin
Introduction of Software Engineering
Introduction of Software Engineering
GV: Lê Ngọc Tiến
Email:
Blog:
2
What is Software Engineering (SE)
What is Software Engineering (SE)

Software has become
Software has become
critical
critical
to advancement in
to advancement in
almost areas of human endeavour. However, there are
almost areas of human endeavour. However, there are
serious problems
serious problems
in
in
cost
cost
,
,
timelines
timelines
,
,


maintenance
maintenance
and
and
quality
quality
of many software
of many software
products.
products.

Software engineering has the
Software engineering has the
objective
objective
of solving the
of solving the
problems of software by producing
problems of software by producing
good
good


quality
quality
,
,
maintainable
maintainable
software,

software,
on time
on time
,
,
within budget
within budget
.
.


3
Definition of Software Engineering
Definition of Software Engineering

Software engineering is the establishment and use of
Software engineering is the establishment and use of
sound
sound
engineering
engineering


principles
principles
in order to obtain
in order to obtain
economically software that is reliable and works
economically software that is reliable and works
efficiently on real machines

efficiently on real machines

A discipline whose aim is the production of
A discipline whose aim is the production of
quality
quality


software, software that is delivered
software, software that is delivered
on time
on time
,
,
within
within
budget
budget
, and that
, and that
satisfies its requirements.
satisfies its requirements.


4
Software
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
Software applications

System Software:
System Software:
a collection of programs which
a collection of programs which
provide service to another programs (compilers,
provide service to another programs (compilers,
operating systems, drivers…)
operating systems, drivers…)

Real Time Software:
Real Time Software:
used to monitor, control and
used to monitor, control and
analyze real world events as they occur (weather
analyze real world events as they occur (weather
forecasting)
forecasting)

Embedded Software:

Embedded Software:
placed in ROM of the
placed in ROM of the
product and control various functions of product
product and control various functions of product

Business Software:
Business Software:
designed to process business
designed to process business
applications (employee management, account
applications (employee management, account
management…)
management…)
6
Software applications (cont)
Software applications (cont)

Artificial Intelligence Software
Artificial Intelligence Software
:
:
used to solve
used to solve
complex problems that are not amenable to
complex problems that are not amenable to
computation (artificial neural network, signal
computation (artificial neural network, signal
processing…)
processing…)


Web based Software
Web based Software
:
:
the software related to web
the software related to web
applications (HTML, DHTML…)
applications (HTML, DHTML…)

Engineering and Scientific Software:
Engineering and Scientific Software:
Huge
Huge
computing is required to process data (CAD/CAM
computing is required to process data (CAD/CAM
package, MATLAB…)
package, MATLAB…)
7
The Attributes of Good Software
The Attributes of Good Software

Maintainability
Maintainability
Software must evolve to meet changing needs
Software must evolve to meet changing needs

Dependability
Dependability
Software must be trustworthy

Software must be trustworthy

Efficiency
Efficiency
Software should not make wasteful use of
Software should not make wasteful use of
system resources
system resources

Usability
Usability
Software must be usable by the users for which
Software must be usable by the users for which
it was designed
it was designed
8
Terminologies
Terminologies

Product:
Product: what is delivered to customer, it may
include: source code, specification document,
user manual…

Process:
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)
Terminologies (cont)

Deliverable:
Deliverable: What are generated during
software development, example: source code,
user manual…

Milestone:
Milestone: the events that are used to ascertain
the status of the project, example completion of
design documentation is milestone.
10
Terminologies (cont)
Terminologies (cont)

Generic and Customized Software products:
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
Role of Management in Software Development

The management of software development is
dependent on four factors:

People
People
Product
Product
Project
Project
Process
Process
Dependency
Dependency
Order
Order
1
2
3
4
12
1 - PEOPLE
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
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
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
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.
Trường Đại học Công nghiệp Tp.HCM
Khoa Công nghệ Thông tin
Thank You
Thank You


GV: Lê Ngọc Tiến
Email:
Blog:

×