1 / 17

Introduction to Advanced Software Engineering

Introduction to Advanced Software Engineering. 中国科学技术大学软件学院 孟宁. http://teamtrac.ustcsz.edu.cn/wiki/ASE2012Fall. 2012年09月. Introduction.

rufus
Télécharger la présentation

Introduction to Advanced Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IntroductiontoAdvanced Software Engineering 中国科学技术大学软件学院 孟宁 http://teamtrac.ustcsz.edu.cn/wiki/ASE2012Fall 2012年09月

  2. Introduction • 高级软件工程课程是要研究软件项目的计划、组织、管理和系统分析、设计等具体实践之上的思想和方法问题,可以说软件工程是源于实践而又高于实践。相对于学习一门技术( 编程语言、网络技术等)或做具体项目而言,软件工程更抽象一些。具体来讲,本课程将会涉及以下内容但又不限于以下内容: 问题解决方法论:分析与综合、抽象、分层架构、系统化、系统边界及系统间关系; 软件生命周期:瀑布模型、V模型、螺旋模型、RUP和敏捷方法等; 软件开发过程:需求挖掘、架构设计、模块设计、设计模式、代码规范、测试方法和维护等 图形化描述方法训练:UML、方框图等 工作量评估和项目管理:工作分解结构WBS、甘特图、软件工程师的性格特征分析、项目成本核算 项目管理工具:Subversion,git,Trac,TeamPal(Redmine) etc. 软件测试技术;

  3. Textbook • Textbook • 软件工程 - 理论与实践(第四版 影印版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee ,高等教育出版社 • 软件工程 - 理论与实践(第四版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee,杨卫东译,人民邮电出版社 • References • 软件工程—实践者的研究方法(Software Engineering-A Practitioner’s Approach); (美) Roger S. Pressman 著; 机械工业出版社ISBN:7-111-07282-0 • Other references

  4. Course Contents • Introduction • Chapter 1: Why Software Engineering? • Chapter 2: Modeling the Process and Life-Cycle • Chapter 3: Planning and Managing the Project • Chapter 4: Capturing the Requirements • Chapter 5: Designing the Architecture • Chapter 6: Designing the Modules • Chapter 7: Writing the Programs • Chapter 8: Testing the Programs • Chapter 9: Testing the System • Chapter 10: Delivering the System • Chapter 11: Maintaining the System • Chapter 12: Evaluating Products, Processes and Resources • Chapter 13: Improving Predictions, Products, Processes and Resources • Chapter 14: The Future of Software Engineering

  5. Problem-solving • Analysis vs. Synthesis • Error,fault,failure and exception • System Approach(System-thinking) • People involved

  6. Software Life-Cycle • Waterfall model • V model • Prototyping model • Phased development: increments and iteration • Spiral model • RUP:用例驱动,以架构为中心,迭代且增量。 • The Manifesto for Agile Software Development

  7. Planning and Managing the Project • Milestones and activities • Work Breakdown Structure • Activity Graphs - Critical Path Method (CPM) • Gantt Chart • Work Styles • Project Organization: Chief Programmer Team & egoless approach • Effort Estimation • Risk Management

  8. Capturing the Requirements • Why Are Requirements Important? • Means of Eliciting Requirements • Types of Requirements • Making Requirements Testable • Need to prioritize requirements • UML Diagrams • Prototyping Requirements • Prototyping vs. Modeling • Requirements Documentation

  9. Software Architecture • Decomposition and Views • Architectural Styles and Strategies • Client-Server • Publish-Subscribe • Layering • Documenting Software Architectures

  10. Design Technology • Design Principles • Modularity(coupling and cohesion) • Interfaces • Inheritance, object composition, and polymorphism • Design Patterns • Strategy Pattern • Observer Pattern

  11. Coding • Programming Guidelines • Localize input and output • Include pseudocode • Data Structure:recursive • Documentation

  12. Software Quality Assurance • The Quality of the Process • Review Technology • Testing vs. Proving • Configuration Management • banchmark test/Alpha test/Beta test

  13. Miscellaneous • Lehman’s System Types • Reverse engineering • Technology transfer

  14. About Teachers • 孟宁 • Office:明德楼A302室(答疑接待时间上课周周一上午11:00-11:30) • TEL:0512-68839302 • E-mail:mengning@ustc.edu.cn • http://staff.ustc.edu.cn/~mengning • 李璐 • Office:亲民楼303 • E-mail:liluzq@mail.ustc.edu.cn • 孙明明 • Office:亲民楼310 • E-mail:mmsun@mail.ustc.edu.cn

  15. Course Rules • 课前读书+课上讨论+课堂考试 • 关键问题的讲解 • 课后实验作业提交到信息化平台-教辅系统http://enroll.sse.ustc.edu.cn/sseweb/Login.aspx • 逾期提交作业记0分, • 鼓励大家互相交流讨论,但严禁抄袭、拷贝,一旦发现并确认为抄袭,抄袭与被抄袭者同样本门课程记0分。

  16. About your score • 课堂考试4次*10% • 实验作业3-5次*5-10% • 结课闭卷考试占20%左右 • 平时表现占10%左右 • 课堂优异表现+ • 课前读书、课上提问-

  17. 谢谢大家! • References • [1]软件工程 - 理论与实践(第四版 影印版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee ,高等教育出版社 • [2]软件工程 - 理论与实践(第四版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee,杨卫东译,人民邮电出版社 • [3]软件工程—实践者的研究方法(Software Engineering-A Practitioner’s Approach); (美) Roger S. Pressman 著; 机械工业出版社ISBN:7-111-07282-0 • [4]http://teamtrac.ustcsz.edu.cn/wiki/ASE2012Fall

More Related