顾小排的第三次作业

本文介绍了一个随机点名系统的开发过程,包括从需求分析到功能实现的各个阶段,并详细记录了每个阶段的实际耗时与预期耗时的对比。此外,还特别提到了为适应实际情况而新增的功能——在点名过程中新增学生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github地址 [https://github.com/gy722]
[我的地址] [https://home.cnblogs.com/u/gy722/]

结对编程照片:(由于我们没有在学校所以我们都是视频沟通)
在这里插入图片描述
在这里插入图片描述

项目预计耗时实际耗时
计划2060
需求分析60100
生成设计文档2030
设计复审2010
代码规范1010
具体设计3060
具体编码240360
代码复审3030
测试60120
报告120150
测试报告100120
事后总结改进6090
总计7701270

功能设计

随机点名程序应该包括以下窗体:
1.加载学生姓名的窗口
2.开始随机点名的窗口
3.停止随机的窗口
4.我们加入了新的功能就是在点名的时候可以新增学生,因为由于许多原因很多同学经常没选上课,但是还是先跟班学习,之后才会加入到教务系统中,所以这个添加学生可以实现这个功能

功能的体现

(1)Design By Contract:
体现:这个整套点名系统需要输入的参数很少,主要是通过点击控件来完成,在输入同学名字的时候可以规定相应的格式,比如不能输入符号,还有长度不得超过8个字。
(2)Information Hiding:
信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息,对于不需要这些信息的其他模块来说,是不可访问的。
如何体现:可以通过public 和 private 来实现,但是我觉得本程序的严谨程度不需要太多私密性,不过在调取数据库的时候可以限制限权,防止详细信息暴露
(3)Interface Design:
体现:设计适当好的接口,增加程序的可行性,让程序更加的通俗易懂。
(4)Loose Coupling :
软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
体现:这个我们不太会,以前在C#中学到过,不过由于不太会,所以没有运用到程序当中。

代码图片展示

在这里插入图片描述
在这里插入图片描述
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d5NzIy,size_16,color_FFFFFF,t_70
在这里插入图片描述
在这里插入图片描述

运行结果

在这里插入图片描述
在这里插入图片描述

转载于:https://www.cnblogs.com/gy722/p/11616246.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值