个人第三次作业--结对编程
github地址 | https://github.com/226DEBABA/PairProgramming |
结对伙伴作业地址 | https://www.cnblogs.com/bookway/ |
说明:此次结对编程作业由付昶宇和黄本巍共同完成
一.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时 | 实际耗时 |
---|---|---|---|
Planning | 计划 | 30 | 25 |
Estimate | 估计这个任务需要多少时间 | 800 | 900 |
Development | 开发 | 60 | 60 |
Analysis | 需求分析 | 60 | 90 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审 | 10 | 15 |
Coding Standard | 代码规范 | 15 | 15 |
Design | 具体设计 | 40 | 60 |
Coding | 具体编码 | 120 | 150 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试 | 120 | 150 |
Reporting | 报告 | 120 | 120 |
Test Report | 测试报告 | 60 | 90 |
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 40 | 60 |
合计 | 785 | 935 |
二.程序设计
1.设计思路
项目由C#语言完成,先建立模拟数据库中的学生集合,再建立接口将学生信息从数据库提取出来并实现点名功能。在原有基础上设计了登陆的功能。
2.如何体现所列举的原则
(1)Design By Contract: 在正确的输入下才能够得到输出,否则程序报错。
(2)Information Hiding: 使用C#中的Public和Private。
(3)Interface Design: 建立面向数据库的接口,用以建立不同功能层之间的通信,并对协定进行定义的引用类型。
(4)Loose Coupling : 保持各模块的独立性,高内聚低耦合。
三.代码审核及合并
1.代码规范
我们学习了相关知识,具体参考链接:https://www.jianshu.com/p/d7e87107073c
2.代码互审及合并
编程和创新设计是共同完成的,合并时按照代码规范做了一定的修改,总体没有发现什么大的问题。
四.代码说明
编程能力有限,代码参照了老师赏赐的文件夹。自主学习了本次创新部分的内容以及单元测试。
五.单元测试
代码:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using DaoLayer;
namespace UnitTestProject2
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
DaoLayer.StudentDAO dao = new DaoLayer.StudentDAO();
Assert.AreEqual(dao.getStudentRecordsNums(), 84);
}
}
}
六.创新附加功能
创作了一个登录界面,详见黄本巍作业附图。
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WinformControlUse
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "黄本巍" && textBox2.Text == "123456")
{
this.Hide();
FrmStudent frmStudent = new FrmStudent();
frmStudent.Show();
}
if (textBox1.Text == "付昶宇" && textBox2.Text == "123456")
{
this.Hide();
FrmStudent frmStudent = new FrmStudent();
frmStudent.Show();
}
}
}
}
七.结对、总结及照片
结对编程模式是第一次使用,对复杂的项目的确提高了效率;这次作业在代码编辑方面因为有老师的帮助做的不多,还需多加学习;这次使用了PSP表格合理安排了时间,提高做作业的效率。