Bài giảng Introduction to Software Engineering - Week 1: Overview - Nguyễn Thị Minh Tuyền
Objectives
£ understand what software engineering is and why
it is important;
£ understand that the development of different types
of software system may require different software
engineering techniques;
£ understand ethical and professional issues that are
important for software engineers;
2
Topics covered
1. Software
2. Software engineering
3. Software process
4. Software engineering ethics
3
Topics covered
1. Software
2. Software engineering
3. Software process
4. Software engineering ethics
4
What is software?
£ Computer programs and associated
documentation.
£ Software products
p may be developed for a particular customer or
p may be developed for a general market.
5
Role of software [1]
q Is software important? Why?
q Give ten examples of software
6
Role of software [2]
£ The economies of ALL developed nations are
dependent on software.
£ More and more systems are software controlled
£ Software engineering is concerned with theories,
methods and tools for professional software
development.
7
Software products
£ Generic products
p Stand-alone systems that are marketed and sold to
any customer who wishes to buy them.
p The specification of what the software should do is
owned by the software developer and decisions on
software change are made by the developer.
£ Customized products
p Software that is commissioned by a specific customer
to meet their own needs.
p The specification of what the software should do is
owned by the customer for the software and they make
decisions on software changes that are required.
8
Essential attributes of good software
£ Maintainability
p Software should evolve to meet the changing needs of
customers.
£ Dependability and security
p Software dependability includes a range of characteristics
including r
£ Efficiency
p Software should not make wasteful use of system resources.
£ Acceptability
p Software must be acceptable to the type of users for which it is
designed.
9
Topics covered
1. Software
2. Software engineering
3. Software process
4. Software engineering ethics
10
Building real things ...
How about producing a software?
11
FAQs about Software Engineering
1. What is software engineering?
2. What are the fundamental software engineering activities?
3. What is the difference between software engineering and
computer science?
4. What is the difference between software engineering and
system engineering?
5. What are the key challenges facing software engineering?
6. What are the costs of software engineering?
7. What are the best software engineering techniques and
methods?
8. What is software process?
12
History of software engineering
£ Software crisis
£ The term 'software engineering' was suggested at
conferences organized by NATO in 1968 to
discuss the 'software crisis'.
£ The adoption of an engineering approach to
software development would
p reduce the costs of software development
p lead to more reliable software.
13
What is software engineering?
£ Software engineering is an engineering discipline that is
concerned with all aspects of software production from the
early stages of system specification through to maintaining
the system after it has gone into use.
£ Engineering discipline
p Using appropriate theories and methods to solve
problems bearing in mind organizational and financial
constraints.
£ All aspects of software production
p Not just tecment. Also project
management and the development of tools, methods
etc. to support software production.
14
Layered Technology
tools
process model
ꢁ
a qualitfocus
Software Engineering
15
Software costs
£ Software costs often dominate computer system
costs. The costs of software on a PC are often
greater than the hardware cost.
£ Software costs more to maintain than it does to
develop. For systems with a long life, maintenance
costs may be several times development costs.
£ Software engineering is concerned with cost-
effective software development.
16
Costs of software engineering
£ Roughly 60% of software costs are development
costs, 40% are testing costs.
£ For custom software, evolution costs often exceed
development costs.
17
Software costs
18
Software engineering vs. Computer
science?
Computer science focuses on theory and
fundamentals.
£
£
Software engineering is concerned with the
practicalities of developing and delivering useful
software.
CS
SE
19
Software engineering vs. System
engineering?
£
£
System engineering is concerned with all aspects
of computer-based systems development including
hardware, software and process engineering.
Software engineering is part of this more general
process.
Software engineering
System engineering
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Introduction to Software Engineering - Week 1: Overview - Nguyễn Thị Minh Tuyền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_introduction_to_software_engineering_week_1_overvi.pdf

