软件过程与项目管理第二周作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件过程与项目管理第二周作业相关的知识,希望对你有一定的参考价值。

本次作业选做:复审自己或别人的代码找出一些问题

本次代码复审选取http://wenku.baidu.com/view/d827a62de45c3b3567ec8baa.html?from=search处代码,感谢作者的材料贡献,下面写的不好的还希望作者和各位读者指出,并且为之致歉。

                                  复审人:      CLX                   复审时间:  2016/03/12         

复审代码表

复审内容

复审结果

概要部分

1)代码符合需求和规格说明么?

完成前三名分数计算为完成前五名分数计算

2)代码设计是否考虑周全?

否,未提供修改成绩功能,防止意外输错

2)代码可读性如何?

3)代码容易维护么?

容易维护

5)代码的每一行都执行并检查了吗?

设计规范部分

1)设计是否遵从已知的设计模式或项目中常用的模式?

采用瀑布模式

2)有没有硬编码或字符串、数字等存在?

有,计算总分时奖项对应得分是硬编码

3)代码有没有依赖与某一平台,是否会影响将来移植?

作者采用windows+Vc++6,。0开发,但分块耦合性低,具有可移植性

4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现呢?

本项目中存在大量排序,可以将排序功能做成模块,然后在其他程序里调用。

5)有没有无用的代码可以删除?

代码规范部分

修改的部分符合代码标准和风格么?

(文档中为显示)

具体代码部分

1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?

有对错误进行处理

调用外部函数无返回值检查

2)参数传递有无错误,字符串的长度是字节长度还是字符的长度,是以0开始计数还是以1开始计数?

参数传递正确

无字符串传递

3)边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环?

Switch没有写default分支,只有输入为0~7情况;

没有

4)有没有使用断言来保证我们认为不变的条件真的得到满足?

没有使用断言

5)对资源的利用,是在哪里申请,在哪里释放?

从变量的生命周期开始时,由操作系统分配,结束时释放。

6)数据结构中有没有用不到的元素?

效能

1)代码的效能如何?最坏的情况是怎样的?

由于使用排序,数据较大时速度慢。O(n^2)

2)代码中,特别是循环中是否有明显可优化部分?

有,代码中大量使用排序而且是冒泡排序,可以优化

3)对与系统和网络的调用是否会超时?如何处理?

本代码大数据时,耗时长,没有调用其他系统,不需要网络

可读性

代码可读性如何和?有没有足够的注释?

可读性强

有足够注释

可测试性

代码是否需要更新或创建新的单元测试?

单元测试已经足够

复审人签字

 

 

以上是关于软件过程与项目管理第二周作业的主要内容,如果未能解决你的问题,请参考以下文章

第二周作业

软件项目管理第二周作业

软件工程 第二周作业

第二周作业-软件工作量的估计

第二周作业:软件工作量的估计方法

第二周作业一读软件工程