高级软件工程教学大纲(英)1由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“高级英语1教学大纲”。
高级软件工程
Advanced Software Engineering 课程编号:04615001 开课学期:秋 授课单位:软件学院
教学目的与要求:
使得学生掌握软件系统开发的基本方法,并能够按照工程学的方法,组织实施软件开发项目,从技术上和管理上采取多种方法、措施和机制,以保证项目达到的软件功能、付出合理的开发成本、具有较好的软件性能、保证开放的扩充接口、支持简单的维护操作和一定的安全机制。
课时安排:
总学时:40;讲授课时:32;实验学时:0
先修课程与预备知识: 1.数据结构
2.数据库管理系统
3.面向对象的程序设计
教材:
1.Ian Sommerville, Software Engineering(8th Edition), China Machine Pre,2006.9(影印)
教学参考书:
1.Leszek A.Maciaszek, Bruc Lee Liong.Practical Software Engineering, 2006 2.Roger S.Preman.Software Engineering---A Practitioner’s Approach(5th Edition),2003 3.Len Ba,Software Architecture in Practice,2003 4.Stacy J.Prowell, Cleanroom Software Engineering 5.Hafedh Mili, Reuse-Based Software Engineering 6.Adedeji B.Badiru,Comprehensive Project Management 7.Ivar Jacobson,The Unified Software Development Proce,2002 8.王家华 软件工程,2001 9.陈松乔等.现代软件工程,清华大学出版社,2004 10.覃征等.软件工程与管理,清华大学出版社,2005
归纳总结教学方式,采用教师主讲与共同研讨相结合的方式。结合教学内容,教师将提出问题与学生共同讨论。同时要求学生在授课内容和讨论的基础上,进一步阅读更多的资料,并选定一个命题深入进行论述。
高级软件工程
Advanced Software Engineering
OUTLINE:
Chapter 1 Overview(10 Hours)1.An Introduction to Software Engineering(2 Hours)1.1 FAQs about software engineering 1.2 Profeional and ethical responsibility 2.Socio-technical Systems(2 Hours)2.1 Emergent system properties 2.2 Systems engineering 2.3 Organizations, people and computer systems 2.4 Legacy systems 3.Software Procees(2 Hours)3.1 Software proce models 3.2 Proce iteration 3.3 Proce activities 3.4 The Rational Unified Proce 3.5 Computer-Aided Software Engineering 4.Project management(4 Hours)4.1 Management activities 4.2 Project planning 4.3 Project scheduling 4.4 Project Risk management
Chapter 2 Requirements(4 Hours)1.Software Requirements(2 Hours)1.1 Functional and non-functional requirements 1.2 User Requirements 1.3 System requirements 1.4 Interface specification 1.5 The software requirements document 2.Requirements Engineering Proce(2 Hours)2.1 Feasibility studies 2.2 Requirements elicitation and analysis 2.3 Requirements validation 2.4 Requirements management
Chapter 3 Design(8 Hours)1.Architectural design(2 Hours)1.1 Architectural design decisions 1.2 System organization 1.3 Modular decomposition styles
1.4 Control styles 1.5 Reference architectures 2.Object-Oriented Design(6 Hours)2.1 Objects and object claes 2.2 An Object-Oriented Design Proce 2.3 Design Evolution
Chapter 4 Software Development(6 Hours)1.Rapid software development(2 Hours)1.1 Agile methods 1.2 Extreme programming 1.3 Rapid application development 1.4 Software prototyping 2.Software reuse(2 Hours)2.1 The reuse landscape 2.2 Design patterns 2.3 Generator-based reuse 2.4 Application frameworks 2.5 Application system reuse 2.6 Component-based Software Engineering 3.Software evolution(2 Hours)3.1 Program evolution dynamics 3.2 Software maintenance 3.3 Evolution procees 3.4 Legacy system evolution
Chapter 5 Verification and Validation(4 Hours)(Self-study by students)1.Verification and Validation(2 Hours)1.1 Planning verification and validation 1.2 Software inspections 1.3 Automated static analysis 1.4 Verification and formal methods 2.Software Testing(2 Hours)2.1 System testing 2.2 Component testing 2.3 Test case design 2.4 Test automation
Chapter 6 Management(4 Hours)1.Managing people(2 Hours)1.1 Selecting staff 1.2 Motivating people 1.3 Managing groups 1.4 The People Capability Maturity Model 2.Introduction to Software Cost Estimation(1 Hours)
3.Introduction to Quality Management(1 Hours)
Chapter 7 Emerging Technologies(4 Hours)(Self-study by students)1.Security Engineering(2 Hours)1.1 Security concepts 1.2 Security risk management 1.3 Design for security 1.3.1 Architectural design 1.3.2 Design guidelines 1.3.3 Design for deployment 1.4 System survivability 2.Introduction to Service-oriented Software Engineering(1 Hours)2.1 Services as reusable components 2.2 Service engineering 2.3 Software development with services 3.Introduction to Aspect-oriented Software Development(1 Hours)3.1 The separation of concerns 3.2 Aspects join points and pointcuts 3.3 Software engineering with aspects