• 第3-6章作业


    1.GitHub版本更新流程

    题目:本周的作业请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程。

    小组通过对阮一峰的Git工作流程介绍进行了学习和讨论,对三种工作方式进行了总结:

    (1)Git Flow。最早诞生、并得到广泛采用的一种工作流程。项目长期存在两个分支,Master和Develop,前者用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版;后者用于日常开发,存放最新的开发版。优点是清晰可控,缺点是相对复杂,需要同时维护两个长期分支,维护开支较大。

    (2)Github Flow。是Git flow的简化版,专门配合"持续发布"。开发过程中始终保存一个长期分支,即Master,一旦有新的需求,便从主分支中拉出新的分支,在修改被接受后,Merge进Master即可,对于规模不是很大的项目,是最适合的开发流程。

    (3)Gitlab Flow。是 Git flow 与 Github flow 的综合。它吸取了两者的优点,既有适应不同开发环境的弹性,又有单一主分支的简单和便利。这种方式只存在一种主分支master,它是所有其他分支的"上游"。只有上游分支采纳的代码变化,才能应用到其他分支。

     经过项目组对四则运算软件功能的分析和定位,并结合大家的编程基础,我们决定采用.NET框架,并采用C#开发WinForm形式的软件程序。

     由于项目规模并不是很大,并且为了使得管理更加便捷,我们选择采用Github Flow的工作方式。

    2.代码规范、GitHub提交源码的标准

    题目:制定本组的代码规范、GitHub提交源码的标准。

     (1)代码规范

      由于该项目采用C#进行程序设计,并且组内有长期从事C#软件程序设计的工程师,因此制定了较为详尽的代码规范。由于篇幅的原因,我们单独撰写了一篇文章,网址:http://www.cnblogs.com/yyshenren/p/5907121.html

     (2)GitHub提交源码的标准

      1.各开发人员必须严格按照功能模块的要求进行软件代码的编写;

      2.各开发人员完成某个功能或模块的开发任务后,需要根据测试文档中的用例自行进行测试,合格后方可提起pull request;

      3.由团队中负责软件测试的人员对该功能或模块进行测试,测试后填写测试报告;

      4.测试通过后,由组长组织各成员对该pull request进行讨论;

      5.由组长确认各成员对于代码没有意见后,方可将该pull request合并进master。

    3.周例会

    题目:组长组织每周例会(可以使用群微信群试验一下每天沟通项目开发进度的方法)需要有证据能够在博客上公布

      (1)每周例会制度

      本周,我们进行了例会,并且制定了每周例会制度,周例会时间定于每周三下午16:00,地点在55B308

       本周例会,讨论了项目开发的平台、开发计划、人员分工等工作,并形成了会议纪要,如下:

      (2)会议纪要(2016年09月21日)

    出席人

    田强、曹悦、饶龙、杨斌

    缺席

    拷贝

     

    作者

    杨斌

    l    会议议程

    序号

    议题

    备注

    1

    制定GitHub版本更新流程

     

    2

    制定代码规范,提交源码的标准

     

    3

    细化软件的具体需求

     

    4

    确定成员角色、制定时间计划、列出产品积压工作和欲开发时间

     

    l    会议记录

    编号

    会议内容

           1.

    通过会议讨论,选择Github的版本更新流程为Github Flow

           2.

    通过讨论,选择C#作为开发语言,开发平台使用Visio Studio 2010,软件形式采取winform形式

           3. 

    由田强分配了每个人负责完善的需求文档模块

           4. 

    会议讨论并确定了成员角色,时间计划产品积压工作项和欲开发时间

    l    后续行动

    编号

    说明

    责任人

    完成时间

            5. 

    该周博客的完善与维护

    田强

    2016.09.25

            6. 

    设计说明文档的撰写

    杨斌

    2016.09.25

            7. 

    系统测试与调试报告的撰写

    饶龙

    2016.09.25

            8. 

    需求说明的撰写

    曹悦

    2016.09.25

            9. 

    系统配置与安装及帮助文档的撰写

    田强

    2016.09.25

    注:

    收到本会议纪要的相关人员如果对本纪要有修改意见,请在两天之内将意见反馈记录人员,否则表示对本会议纪要内容的同意。

    以下是本次会议的开会场景:

    4.角色分工及项目计划

    题目:根据邹欣老师的教材相关内容,确定小组成员的角色,细化项目需求、时间计划、列出产品积压工作项和预计开发时间

     (1)小组成员角色及分工

     小组组长:杨斌

     职责:负责项目总体把控,制定代码开发规则,完成项目的总体设计工作,负责设计说明文档的撰写。主要负责完成项目总体框架的搭建,并完成试卷生成、评分管理和历史记录检索等模块的开发。

     小组成员:饶龙龙

     职责:负责项目的测试工作,负责系统测试与调试报告的撰写。主要负责完成系统管理、基础设置和模块的开发。

     小组成员:曹悦

     职责:负责项目需求文档的撰写工作。主要负责完成用户注册、用户登录和题库生成等模块的开发。

     小组成员:田强

     职责:负责系统配置与安装及帮助文档的撰写。主要负责完成项目运算模块的开发、后台数据库的开发和软件安装项目的开发工作。

    (2)细化项目需求

      经过项目组成员共同讨论,对本系统的需求进行了细化,具体内容如下:

    • 用户注册
      • 用户在使用该软件前需要进行注册,注册需要提供用户的邮箱和姓名,通过软件发送到后台系统,后台系统生成验证码后,发送到用户邮箱,用户通过输入验证码完成软件注册。
    • 用户登录
      • 用户注册成功后,通过注册时填写的用户名和密码进行登录,登录后进入欢迎界面,弹出帮助对话框介绍软件功能。
      • 欢迎界面列出当前用户的学习进程和学习曲线。
      • 学习进程包括:学习时间、测试练习数量、做对数量、做错数量、模拟考试数量、最高分、最低分、平均分
      • 学习曲线(见“学习曲线”小节)
    • 难度选择
      • 用户在开始测试练习前,如果之前没有选择过测试难度,则需要先选择试题难度,试题难度分为初级、中级、高级三个等级,本次选择后,系统自动记录当前难度,待用户下次登录后默认为已选择的难度。
      • 用户在测试过程中,可以随时调整测试难度。
    • 测试练习
      • 系统根据用户选择的难度,随机生成题目,通过选择、判断、填空等不同题型形成测试练习题目。
      • 用户需要根据题目通过界面操作或输入完成题目应答,应答后,需要通过界面中的提交按钮提交答案,系统自动对题目进行判定。如果应答正确,则进入下一题;如果应答错误,则提示用户,并将正确结果通过醒目的文字提示在界面中。
    • 错题练习
      • 系统自动记录用户曾经做错过的题目,曾经做错过的题目将会在测试练习和模拟考试中根据一定的比例再现。
      • 用户在测试练习和模拟考试中将错题做对后,将逐渐降低该错题在测试练习和模拟考试中出现的几率。
      • 用户可以选择进入错题练习单元,系统根据用户曾经做错过的题按照系统几率逐渐呈现,错题练习中将错题做对后,不影响该错题在测试练习和模拟考试中出现的几率。
    • 模拟考试
      • 系统根据用户选择的难度,随机自动生成考试试卷。
      • 用户进入试卷后,系统自动倒计时,用户必须在倒计时结束前完成所有题目的应答,否则系统自动提交试卷内容进行判分。
      • 用户填写答案后,可以选择进入下一题或返回之前的题目重新作答,待试卷全部作答完毕之后,统一提交该试卷内容。
    • 自动判卷
      • 模拟考试结束后,系统自动对试卷进行判分,列出做对的题目和做错的题目,并对错题通过醒目的文字进行解释。
      • 系统自动计算本次考试的最终得分,并记录到用户的历史记录中。
      • 系统自动将做错的题目进行记录,以便在错题联系中再次出现。
    • 学习曲线
      • 学习曲线包括三种:测试练习曲线、错题曲线、模拟考试曲线。
      • 测试曲线为用户不同日期的测试题目数量曲线,并体现出正确率和错误率的分布。
      • 错题曲线为用户在不同日期的错误数量曲线。
      • 模拟考试曲线为用户在不同日期的模拟考试成绩曲线。
    • 系统设置
      • 数值范围设置,设置四则运算中参数的数值范围。
      • 难度设置,设置当前系统默认的难度。
      • 试卷生成设置,设置试卷生成的题目数量、类型、用时等。
      • 历史记录设置,设置系统自动保存的各项历史数据的时间范围。

      对于该项目的软件需求分析说明书,我们将通过一个单独的页面进行维护,网址:

      http://www.cnblogs.com/yyshenren/p/5909500.html

    (3)软件设计说明书 

      对于该项目的软件设计说明书,我们通过一个单独的页面进行维护(目前正在构建中……),网址:

      http://www.cnblogs.com/yyshenren/p/5909487.html

    (4)系统测试及调试报告

      对于该项目的系统测试及调试报告,我们通过一个单独的页面进行维护,网址:

      http://www.cnblogs.com/yyshenren/p/5909476.html

    (5)系统使用手册

      对于该项目的系统使用手册,我们通过一个单独的页面进行维护(目前正在构建中……),网址:

      http://www.cnblogs.com/yyshenren/p/5909522.html

    (6)项目开发计划

      本项目预计开发周期为5周,从2016年9月19日至2016年10月21日。

    • 2016年9月19日至2016年9月26日,完成项目需求书和软件详细设计说明书的编制,并完成项目总体框架和数据库的搭建。
    • 2016年9月27日至2016年10月7日,完成项目各主要模块的开发工作,完成整合,开始进行测试。
    • 2016年10月8日至2016年10月14日,完成项目的测试工作,并对bug进行修改,制作安装程序。
    • 2016年10月15日至2016年10月21日,完成项目所有文档的撰写工作,形成完整的软件产品发布。
  • 相关阅读:
    反转字符串
    数组
    复杂度分析(二)
    复杂度分析(一)
    业务应该这么写--特性
    5种方法快速启动一个应用程序
    业务应该这么写--表达式树
    业务应该这么写--泛型
    业务应该这么写--异常处理
    关于关系型数据库外键,要减轻数据库压力的一些说法
  • 原文地址:https://www.cnblogs.com/yyshenren/p/5907056.html
Copyright © 2020-2023  润新知