Assignment


作业1: 程序设计语言的OO特性调研报告

内容:

面向对象已经为很多程序设计语言所支持, 但不同语言的面向对象特征和关注重点 并不尽相同。请调研至少 2 种你之前了解甚少的语言, 了解其设计思想和面向对 象特征, 并和一门你比较熟悉的语言如 Java, C++, C# 做比较, 给出代码示例, 提交一份调研报告。

调研范围包含但不限于:

Objective-C, Go, Python, Ruby, Scala, Swift, Erlang, PHP, Smalltalk, Java, C++, C#

任务:

提交 一份调研报告,并评价两份其他同学的报告。

提交截止: 2017年3月5日23:59 评价开始: 2017年3月6日08:00 评价结束: 2017年3月9日17:00


作业2: 案例设计

内容:

每2-3位同学自发组成一个甲方小组, 推举一位小组长。小组成员共同讨论确定一 个业务系统, 如买火车票, 团购, 课程管理, 书店管理等, 该业务系统将由一个软 件系统支撑. 每位同学应在该系统中承担至少一位参与者(actor)角色, 是软件系 统的涉众(stakeholder). 从该业务系统所有者/参与者/涉众的角度, 描述该业务 系统及对软件系统的需求。小组长汇集所有成员对系统的描述, 经全体确认后在自 己的Github课程库中发布.

任务:

Github 课程库中一份关于该业务系统及软件系统需求描述的文档, 文档中应清楚描 述小组每位成员对文档的贡献, 和在系统中的角色.

提交截止:

第一轮: 2017年3月15日23:55

第二轮: 2017年3月17日23:55


作业3: 业务目标与涉众分析

内容:

作业2的案例第二轮发布后, 每个甲方小组将作为乙方小组, 选择另一个甲 方小组发布的系统, 乙方小组的每个同学单独进行进行分析、设计、开发. 乙方小组成员之间可彼此互相交流印证, 但不可协作.

在本次作业中, 乙方将对甲方的案例进行调研, 进行业务目标分析, 提交一份涉众 分析报告.

任务:

Github 课程库中一份涉众分析报告.

提交截止: 2017年3月22日23:55


作业4: 需求分析

内容:

作业3的基础上进行需求分析, 根据系统目标, 定义系统边界, 发 现业务参与者(business actor), 描述业务规则, 建立业务模型(可用业务用况描 述)与领域模型, 捕获非功能性需求, 建立系统用况图和系统用况.

任务:

Github 课程库中一份需求分析报告, 至少要包括系统用况图, 系统用况描述及其 他必要的描述文档.

分析报告建议采用Markdown 格式, 各种UML图应导出为浏览器支持的图片格式.

同时提交一份关于你和甲方确认需求过程的简短说明, 明确双方是否已经确认该分析结果.

提交截止: 2017年4月12日23:55


作业5: 系统分析

内容:

基于 作业4 的需求分析结果,进行OOA分析,为目标系统建立对象模 型(描述系统中的类及其属性和操作,类之间的关系)。

甲方对乙方的系统分析模型进行评价,组织讨论。

任务:

Github课程库中一份系统分析模型文档,包括对象模型和若干辅助模型,和一份甲 方对你的模型的评价报告。

提交截止: 2017年4月19日23:55

2017年4月20-27日继续修改, 27日课上由甲方主持讨论乙方的分析模型, 甲方要对乙 方同学不同的实现进行比较, 并可邀乙方同学对彼此进行评价。


作业6: 系统设计

内容:

基于 作业4的需求分析结果 和 作业5 的系统分析结果,进行系统设计。

请和甲方确认系统的实现方案约束,如操作系统、网络环境、数据库等,然后基于 这些特性进行面向对象的设计。

系统设计可运用设计模式。

任务:

Github课程库中一份系统设计文档,应包括若干设计模式的应用。

提交截止: 2017年4月26日23:55


作业7: 第一次系统总结与验收

内容:

乙方完成开发, 交付开发的系统和所有文档。

任务:

Github课程库中系统代码, 一份系统总结报告, 及所有相关文档。

提交截止: 2017年5月14日23:55


作业8: 需求变更

内容:

甲方验收系统后, 发布了变动的需求。

任务:

Github课程库中一份新的需求文档, 注明变动的部分。

提交截止: 2017年5月19日23:55


作业9: 应对需求变更

内容:

重新进行分析和设计, 应对甲方变动的需求。

任务:

Github课程库中一份补充开发文档, 注明本次开发的原因, 分析模型和设计模型做了何种改动。

提交截止: 2017年5月31日23:55


项目总结报告

内容:

甲方对自己的题目设计进行总结, 对需求变更设计初衷进行说明, 对乙方完成情况进行技术分析。报告时间不超过5分钟。

乙方报告本次项目设计完成情况, 对完成的系统进行简单展示, 总结实现代码与分析设计模型的对应情况, 介绍你实现时遇到的技术难题和如何解决的, 对你掌握的面向对象技术原理及应用情况进行总结。报告时间不超过8分钟。

任务:

Github课程库中一份总结报告文档, 可用Markdown格式, 用Remark 工具展示。