MIT OpenCourseWare
OCW Home Course List About OCW Help with OCW Feedback


当前
Search
» 高级搜索
 课程首页
 教学大纲
 教学日程
 参考读物
 讲义
 复习
 试验
 作业
 考试
 项目
 工具
 相关资源

教学大纲


目标

这个课程包括了一系列软件开发的技术,从一个问题的分析到解决实现。为了完成这个课程,学生应该能够:

  1. 分析一个软件开发问题,简单准确的表达它的本质;
  2. 设计一个结构模型来解决问题,评价解决问题的方法;
  3. 实现一个模型以便于它可以正确有效的执行;
  4. 以小组为单位,在软件开发的各个方面合作,有组织有建设性的相互交流意见;
  5. 意识到工程性在软件开发中的重要性,例如选择用户所关心的问题,使用有限的资源,软件的可维护,可靠性和人员的分工。

条件

这个课程假设学生能够

  1. 写一个符合规范的小程序(100行);
  2. 理解面向过程(例如循环、过程、异常、混淆)和面向对象(例如对象、引用、接口、子类)的基本概念;
  3. 使用和理解那些用基本数据结构的程序,如用数组、hash表、树、链表。

成绩

完成这个课程后,学生应该能够

  1. 在问题域上确定关键实体和联系;以用户手册的形式简单的写问题的描述;
  2. 设计程序:构造一系列模块,使用模块依赖图表达和评估模块间的耦合度,不让模型涉及到具体和抽象的状态;使用众所周知的设计模式(如迭代器、观测者、工厂和访问者);设计恰当的模型规格,采用非正式的前置后置条件表达出来;正确理解子类和继承的作用,有效的使用他们。
  3. 实现程序:设计满足特定规格模型的面向对象的代码;表达表示不变式,理解它们在提高应用程序效率方面的作用,用运行时间来判断程序;理解抽象数据的基本概念,可以用简单的数据类型读写非正式的抽象函数;通过用规格说明、常量和抽象函数来手工检测评估一个模型的正确性;开发单元和系统级的测试块,用简单说明的概念和代码覆盖来评估其效率。
  4. 在组里进行一个小的开发,包括问题分析、设计、实现和测试。

每个结果支持相应数量的对象。如4个结果支持5个对象。



 
MIT Home
Massachusetts Institute of Technology Terms of Use Privacy