Bài giảng Introduction to Software Engineering - Week 1: Overview - Nguyễn Thị Minh Tuyền

Introduction to Software Engineering  
Week 1: Overview  
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 đủ
pdf 43 trang yennguyen 14300 Free
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:

  • pdfbai_giang_introduction_to_software_engineering_week_1_overvi.pdf