homework-03

以下分割线内摘自zjoe

----------------------------------------------------------

基本思路

这个问题本身很容易,但无奈老师的要求实在是奇怪。要从命令行 启动程序,并且多次运行后只保留一个程序在运行。已经都写UI了 为何还要用命令行控制?如果非要满足这个要求,还需要写很麻烦 的进程切换,所以我没有完全按照老师的要求写。我的想法是用UI 作为主控程序,直接在UI内实现参数的输入。输入后用户按下按钮 触发一个过程,在这个过程中实现如下功能:

  1. 分离参数
  2. 将参数传递给计算程序,执行计算
  3. 获取计算结果
  4. 新建tab并显示结果

这样实现的话计算程序运行完后就退出了,所以系统中不会有两个 maxsum在运行。

实现

由于最近一直在linux下学习,所以决定采用gtk来实现。Gtk是用c 语言实现的图形化库,几乎是完全按面向对象的规范实现的。容器 的思想使得用起来非常方便高效。不得不说c语言真的很强大,面 向对象不是语言属性,而是思想属性。

细节

具体实现的时候其实是两个程序分开来了,原来的计算程序没动。UI 直接调用计算程序,输出的结果保存在一个文件中,UI再读入处理。 没有采用进程通信之类的,感觉实在没有必要。没有把程序写在一起 是因为太长了,而且因为要多次执行计算,计算程序中的一些变量初 始化容易出问题,索性直接调用程序。具体图形化的细节就不说了, 了解了gtk的一些规则后真没什么说的,写就行了。有些细节没有再 细致的处理,如组件大小之类的,这周作业略多,时间不太够,望谅 解。

运行效果

------------------------------------------------------------------------------

回答问题

你现在使用的代码规范是什么,  和上课前有什么改进? 

答: 现在比较注意代码的模块化,并尽量让更多代码得到重用.代码要写得好其实很不容易,需要注意到实现效率和可扩展性.而面向对象可能是一种提高模块化和可扩展性的方法.

你的同伴有哪些优点 (列出至少三点), 和那些需要改进的地方 (列出至少三点)

答:代码能力强,学习效率高,并且具有一定的沟通能力.需要改进的地方:坚持用c语言写图形化,坚持GTK(其实用python+Qt很方便的),太坚持自己的看法.

你的代码从 作业2 到 作业3 经历了哪些变化?  哪些代码需要重构 (看关于代码重构的资料), 哪些需要重写,  为什么?

答:由于作业3只是在原来的基础上增加了一个图形化程序,所以原代码基本不用变化,两个代码之前的通讯是通过作业2运行结果输出的文件来的.在作业3中,主要程序是作业3中增加的图形化程序,而在图形化程序中去调用作业2的程序,基本不需要重构.

你的设计是如何保证 不同的 maxsum.exe 命令行最后在一个GUI 的界面显示的?  (C++ 的设计模式中有singleton 的概念, 说明一个类的实例如何在一个进程中保持单例, 我们这里谈的是软件如何在操作系统中保持 singleton)

答:只需要保持图形化界面存在,运行一次命令之后增加一个tab就行了.由于对C++不熟所以这个问题不会回答..

当然,  请继续记录时间的估计和你实际的用时:

 

 

Personal Software Process Stages

时间百分比(%)

实际花费的时间 (分钟)

原来估计的时间 (分钟)

Planning

计划

     

·         Estimate

·         估计这个任务需要多少时间,把工作细化并大致排序

 10  10  10

Development

开发

     

·         Analysis

·         需求分析 (包括学习新技术)

 30  2*60  1*60

·         Design Spec

·         生成设计文档

 0  0  0

·         Design Review

·         设计复审 (和同事审核设计文档)

 0  0  0

·         Coding Standard

·         代码规范 (制定合适的规范)

 5  10  10

·         Design

·         具体设计

 10  30  60

·         Coding

·         具体编码

 30  4*60  3*60

·         Code Review

·         代码复审

 0  0  0

·         Test

·         测试(自我测试,修改代码,提交修改)

 10  30  20

Reporting

总结报告

 5  10  10
  • ·         Test Report
  • ·         测试报告
 0

 0

 0
  • ·         Size Measurement
  • ·         计算工作量
  • ·         Postmortem & Improvement Plan
  • ·         事后总结并提出改进
 0  0  0
     
Total 总计 100%

总用时

7.5h

总估计的用时

5.75h

posted @ 2013-10-21 01:33  Forwil  阅读(191)  评论(1编辑  收藏  举报