개인 세 번째 작업 : 페어 프로그래밍

Github의 저장소 포크웨어 하우스 주소 : https://github.com/zio-1/PairProgramming.git

운영 요구 사항 링크 : HTTPS : //edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework/8658

PSP2.1 개인 소프트웨어 프로세스의 단계 예상 시간이 소요 (분)
계획 계획 (30)
견적 이 작업을 필요로 얼마나 많은 시간 추정 (20)
개발 개발 (300)
분석 분석 (새로운 기술을 학습 포함) 필요 (70)
디자인 사양 설계 문서를 생성 (20)
설계 검토 설계 검토 (동료는 설계 문서를 검토) (10)
표준 코딩 코드 사양 (현재 개발을위한 적절한 규범의 개발) (20)
디자인 특정 디자인 (50)
코딩 특정 코딩 (300)
코드 검토 코드 검토 (60)
테스트 테스트 (자체 테스트, 수정을 제출, 코드를 수정) (200)
보고 보고서 (100)
시험 보고서 시험 보고서 (60)
크기 측정 컴퓨팅 워크로드 (10)
사후 및 프로세스 개선 계획 나중에 요약 및 프로세스 개선 계획 (30)
  합계 1,110

연산기 모듈 인터페이스를 설계 및 구현

1, 폼 디자이너

이 프로젝트는 학생 데이터베이스 프로그래밍 및 임의 출석을 통해 학생을위한 롤 통화 작업을 달성하기 위해 구성 데이터베이스와 C # 언어로 구성되며, 반복 및 학생의 수를 표시하지 않는 점호를 추가했다. 학생 정보 양식에 의한 양식, 시스템의 이름을 지정 진행률 표시 줄과 학생들의 스트립의 수를로드.

2, 코드 설계

인코딩 규칙은 다음과 같습니다

파일 이름 (파일 이름) :이 파일의 이름;

PasalCasing : 1 워드 식별자 총액;

camelCasing : 첫 번째 단어 식별자의 소문자는.

중복을 피하기 위해 이름이 같은 프로젝트에서 다른 네임 스페이스의 클래스. 갈등과 혼란 참조를 피하십시오;

이 코드의 디자인을 구현하고, 자신의 실수를 발견하지만, 때문에 시간의 변화에 ​​강한보다 적을 수 있습니다, 그래서으로 한 것입니다 일부는 여전히 문제를 명명 약간있을 수 있습니다.

둘째, 코드 검토

코드 사양 : C #을 작성 사양

토론

 

 

내 룸메이트와 노동의 사업 부문을 완료의에서 보는 각 문제의 일부를 완료 여부를하지만, 단위 테스트, 우리는 사실이 절차가 값 테스트를 반환 할 수 있기 때문에 직접의 일부 시험의 가능성을 생각한다 이하, 그래서 우리는 어떻게 해야할지, 우리는 인터페이스를 수정하는 과정에서 인터페이스로하자 방법에 따라 온라인 액세스의 일부와 길을 물어 더 아름답게 보인다.

셋째, 단위 테스트

시스템을 사용하여; 
Microsoft.VisualStudio.TestTools.UnitTesting을 사용함;
DaoLayer을 사용하여, 공간单元测试{   [TestClass에]   공용 클래스 UnitTest1   {       [TestMethod]       공공 무효 TestMethod1 ()       {           INT의 NUM = 새로운 DaoLayer.StudentDAO () getStudentRecordsNums ().;           Assert.Equals (NUM, 84);       }   } }














넷째, 코드 쇼

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using DaoLayer;
using Entity;
using System.Threading;

namespace WinformControlUse
{
  public partial class FrmStudent : Form
  {
      List<Student> stuList=new List<Student>();

      public FrmStudent()
      {
          InitializeComponent();
      }

      void iniControl()
      {
          btnStart.Visible = false;
          btnStop.Visible = false;
          btnLoadStu.Enabled = true;            
      }

      void setControlVisible()
      {
          btnStart.Visible = true;
          btnStop.Visible = true;
          btnLoadStu.Visible = false;          
      }

      private void btnLoadStu_Click(object sender, EventArgs e)
      {          

          //获取学生数据源
          StudentDAO stuDao = new StudentDAO();
          stuList=stuDao.getAllStudents();

          //进度条设置
          int stuCounts = stuList.Count;//及时学生人数
          progressName.Maximum = stuCounts;
       

          //构造数据源
          DataTable dt = new DataTable();          
          dt.Columns.Add("stuID", Type.GetType("System.String"));
          dt.Columns.Add("stuName", Type.GetType("System.String"));
           
          //数据加载以进度条方式展现
          foreach (Student stu in stuList)
          {
              dt.Rows.Add(stu.Id,stu.Name);
              progressName.Value += 1;//一个学生,进度条加1;
              //Thread.Sleep(500);                
          }            
           
          dgvStuList.DataSource = dt;

          setControlVisible();

          this.stunum.Text = "学生人数:" + stuDao.getStudentRecordsNums();

      }

      private void FrmStudent_Load(object sender, EventArgs e)
      {
          iniControl();
      }

      private void timerCallName_Tick(object sender, EventArgs e)
      {
          Random ra = new Random();
          int i = ra.Next(stuList.Count);
          lblName.Text = stuList[i].Name;
      }

      private void btnStart_Click(object sender, EventArgs e)
      {
          timerCallName.Start();
      }

      private void btnStop_Click(object sender, EventArgs e)
      {
          timerCallName.Stop();
      }

      private void label2_Click(object sender, EventArgs e)
      {

      }

      private void label2_Click_1(object sender, EventArgs e)
      {

      }
  }
}

 

 

 

psp表格

PSP2.1 Personal Software Process Stages 实际耗时(分钟)
Planning 计划 30
Estimate 估计这个任务需要多少时间 20
Development 开发 200
Analysis 需求分析 30
Design Spec 生成设计文档 20
Design Review 设计复审 10
Coding Standard 代码规范 20
Design 具体设计 50
Coding 具体编码 300
Code Review 代码复审 60
Test 测试 100
Reporting 报告 100
Test Report 测试报告 10
Size Measurement 计算工作量 10
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30
  合计 940

附加功能

记录学生的人数,并且防止重复点名情况的发生,让点名系统不是绝对的随机,更节油效率。

项目总结

在这次项目中知道了许多代码编写方面的知识,对编码规范有了一个初步的了解,因此我也更加了解软件工程这门课了,而且我也发现在项目中团队是很重要的,两个人的确能强很多,不仅仅是分工合作,还有更多的是自己对于项目的理解的表达,这是一个人所体会不到的。困难可能很多,但是我觉得只要一起解决就没什么解决不了的,也不会出现死磕的情况。

 

추천

출처www.cnblogs.com/doctorlan/p/11613982.html