当前位置:文档之家› 中山大学软件学院

中山大学软件学院

中山大学软件学院软件工程硕士研究生课程教学大纲Course Profile for Master of Software Engineering (MSE) Students最近更新/ Revision : 2009.09.10课程编号Course Code SE-901课程名称Course Title软件工程进展Advances in Software Engineering课程类别Course Type 专业必修课Compulsory学分Credits3理论环节Lecture Sessions51实验环节Laboratory Sessions周学时Hours per Week 3总学时Total Hours学时合计Total51开课学期Semester 第一学年秋季学期Fall semester, 1st year课程负责人Course Coordinator 李师贤教授Prof. Shi-xian LIEmail : lnslsx@Homepage : PENDING主要授课教师Principal Instructors 李师贤教授、常会友教授、李文军教授、周晓聪副教授、毛明志副教授、潘炎博士、舒忠梅博士Prof. Shi-xian LI, Prof. Hui-you CHANG, Prof. Wen-jun LI, A/Prof. Xiao-cong ZHOU, A/Prof. Ming-zhi MAO, Dr. Yan PAN, Dr. Zhong-mei SHU教学助理配置TeachingAssistantsNone课外交流时间Office Hours 主讲教师:每周2小时。

Instructor: 2 hours per week.教学助理:无。

TA: N/A.课程主页HomepagePENDING 讨论社区ForumPENDING课程描述Course Description 本课程旨在让学生了解软件工程中一些前沿的理论和技术,以及一些新的研究方向。

本课程由多名教师以模块化方式教学,目前覆盖软件体系结构(SA)、基于构件的软件开发(CBSD)、面向方面的软件开发(AOSD)、基于COTS的软件开发、开源软件运动、实验软件工程(ESE)、软件工程经济学等知识模块。

本课程所选的模块将随着软件工程领域的发展而变化。

本课程的考核采取论文的方式,学生针对自己感兴趣的知识模块,进一步阅读相关参考文献,撰写一篇符合软件工程研究模式和学术论文规范的课程论文。

The goal of the course is to introduce some advanced theories and technologies to students. Currently, this course covers the following topics: Software Architecture (SA); Component-Based Software Development (CBSD); Aspect-Oriented Software Development (AOSD); Commercial Off-The-Shelf (COTS); Open Source; EmpiricalSoftware Engineering (ESE); Software Engineering Economics. These topics will beadjusted according the developing of software engineering.先修课程PrerequisitesNone后续课程SuccessiveCoursesNone理论教学部分Lecture Sessions教材Textbook No textbook specified. Students will be provided with course handouts including lecture slides, ebooks and research papers.教学参考书References [1] B. Boehm. Software Engineering Economics. Prentice Hall, 1981, ISBN0-138-22122-7中译版:李师贤等译,《软件工程经济学》,软件工程技术丛书,北京:机械工业出版社,2004,ISBN 7-111-14389-2[2] C. Jones. Estimating Software Costs: Bringing Realism to Estimating, 2nd Ed.McGraw-Hill Osborne Media, 2007, ISBN 0-071-48300-4中译版:刘从越等译,《软件项目估计》(第2版),软件工程研究院,北京:电子工业出版社,2008,ISBN 7-121-05806-6[3] I. Jacobson and Pan-Wei Ng. Aspect-Oriented Software Development with UseCases. Addison Wesley, 2005, ISBN 0-321-26888-1影印版:《基于用例的面向方面软件开发》,北京:机械工业出版社,2006,ISBN 7-111-17771-1中译版:徐锋译,《AOSD中文版——基于用例的面向方面软件开发》,北京:电子工业出版社,2005,ISBN 7-121-01831-4[4] A. Colyer, A Clement, G. Harley and M. Webster. Eclipse AspectJ: Aspect-OrientedProgramming with AspectJ and the Eclipse AspectJ Development Tools. Addison Wesley, 2004, ISBN 0-321-24587-3中译版:钱竹青等译,《Eclipse AspectJ中文版——利用Eclipse和AspectJ进行面向方面程序设计》,北京:清华大学出版社,2006,ISBN 7-302-13976-8[5] C. Wohlin, P. Runeson, M. Host, M. C. Ohlsson, B. Regnell and A. Wesslen.Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, 2000, ISBN 0-792-8682-5教学方法Approach1. Theoretical lectures combined with studies of research papers.理论教学内容Lectures Preface. Introduction (3 hr)Instructor: Prof. Wen-jun LIintroduction to this course; research pattern in software engineering; how to read and write a paper in software engineering.Module I. Software Engineering Economics (12 hr)Instructor: Prof. Shi-xian LI1. Principles and Methods of Software Cost Estimation (6 hr)case studies on software cost estimation; basic COCOMO model; intermediate COCOMO model; performance models; cost-effectiveness models; multi-goal decision analysis. alternative methods.2. Software Cost Estimation and Life-Cycle Management (6 hr)software maintenance cost estimation; software life-cycle cost estimation; software project planning and control. improving software productivity.Module II. Component-based Software Development (9 hr)Instructor: Prof. Hui-you CHANG1. Introduction to Component-Based Software Development (3 hr)basic concepts and revolutionary history of CBSD (Component-Based Software Development); components and standards; software architecture; patterns and frameworks.2. Technology and Processes of Component-Based Software Development (3 hr)CBSD: industrialization of software engineering; component-based issurance solution: an architecture for success; CBSD: a roadmap to e-business success.3. Components Library and Component Marketplace (2 hr)technology of components library or services library; Internet component marketplace;CBSD resources.4. Software Patterns and Components (1 hr)patterns in CBSD, including: analysis patterns; design patterns; process patterns; and organizational patterns.Module III. Aspect-Oriented Software Development (9 hr)Instructor: A/Prof. Xiao-cong ZHOU1. Introduction to AOSD (Aspect-Oriented Software Development) (2 hr)history of aspect-oriented programming and aspect-oriented software development;motivation of aspect-oriented software development; nature of aspect-orientation; basic concepts and common terminology of aspect-oriented software development.2. Aspect-Oriented Analysis and Design (2 hr)introduction to aspect-oriented software development with use cases: motivation, basic ideas and a simple example; brief introduction to theme approach; applying aspect-orientation in software engineering, e.g. using aspect-oriented technology to capture run-time information of software, etc.3. Aspect-Oriented Programming in AspectJ (5 hr)what is an aspect in AspectJ; key design properties of AspectJ language; how to define join points and pointcuts in AspectJ; how to define advice in AspectJ; how to define inter-type declarations in AspectJ; writing aspect-oriented programs with AspectJ and Eclipse AspectJ development tools; brief introduction to other aspect-oriented programming languages.Module IV. Open Source and COTS (Commercial Off-The-Shelf) (12 hr)Instructor: Dr. Yan PAN1. Introduction to Open Source (3 hr)history of open source software; motivation of “free software”; successful stories of open source; business mode of open source; new trends in open source; open source technical stack; open source licenses.2. Web Application Development with Open Source Frameworks (4 hr)(1) Introduction to Spring (2 hr): successful stories of Spring framework; Inversion ofControl (IoC) in Spring; Aspect-Oriented Programming (AOP) in Spring; transaction management; exception translator; filter; case studies.(2) Introduction to Hibernate (1 hr): basics of object-relation mapping (O/R mapping);general framework of Hibernate; key elements of Hibernate; properties configuration of sessionFactory ; configuration of mapping files; case studies and best practice.(3) Introduction to Struts (1 hr): MVC pattern; key elements of web frameworks; stateless roundtrip of HTTP protocol; JSP and Struts tags; action in Struts; configuration of Struts; case studies.3. Commonly Used Open Source Tools (2 hr)concepts of unit testing; testing with JUnit; logging with log4j; building software with Ant; source code management with CVS.4. COTS (Commercial Off-The-Shelf) (3 hr)PENDING.Module V. Empirical Software Engineering (12 hr)Instructor: A/Prof. Xiao-cong ZHOU1. Introduction to ESE (Empirical Software Engineering) (1 hr)general introduction to the area of empirical study; why empirical study is important in software engineering; how to study this module.2. Empirical Strategies and Measurement in Software Engineering (2 hr)overview of empirical strategies: surveys, case studies and experiments; empirical strategies comparison; empiricism in a software engineering context; basic concepts of measurement; measurement in software engineering.3. Experiment Process: Definition & Planning (3 hr)general introduction to experiment process; experiment definition; experiment planning: context selection, hypothesis formulation, variables selection, selection of subjects, experiment design, instrumentation, validity evaluation.4. Experiment Process: Operation & Analysis (3 hr)experiment operation; analysis and interpretation: descriptive statistics, data set reduction, basic concepts of hypothesis testing; introduction to t-test, Mann-Whitney test, F-test, paired t-test, Wilcoxon test, sign test, ANOVA (analysis of variance), Kruskal-Wallis test.5. An Example of Empirical Study in Software Engineering (3 hr)an example experiment to compare C and C++: problem statement, experiment planning, analysis and interpretation.Totally 51 out of 57 hours.布置作业Assignments None总评成绩计算Course AssessmentClass Participation20% Research Paper 80% 评分标准GradingTotal 100%。

相关主题