结对作业-stage_1
| 教学班 | 罗杰、任建班周五3、4节 |
|---|---|
| gitlab项目地址 | Here it is. |
| 成员 | 周远航(3004) 李辰洋(3477) |
结对编程体验
感受
- 在前期设计时,两人合作可以收集更多资料,提供更多想法,有利于设计更完备的架构。
- 一人写代码、一人领航员的配合方式及时对于能肉眼辨别的错误进行纠正,例如笔误、空指针错误等。
照片
设计阶段:对指导书进行精读,设计整体逻辑架构和类。

编程阶段:一人主笔,一人领航,交替进行。


在后期由于课业原因不方便同时在线时,我们还选择了分工协作的方式,每人负责相对独立的方法实现,push后对方对其进行检查。
设计思路
在初期设计时,我们充分融合了linux哲学核心思想:一切皆文件,并参考了Google开源java7文件系统实现源码,对于本次结对任务的初期架构进行了如下设计:

MyFileSystem
文件系统核心类。记录了root和currentPosition两个目录入口。
DirectoryEntry
目录入口类。用于管理目录下的所有文件(包括目录文件、普通文件)以及文件树的上下级关系。
File
抽象类,“一切皆文件”中的“文件”,所有文件的父类,定义了一些文件的统一属性。
RegularFile
普通文件,继承File抽象类。
Directory
目录文件,继承File抽象类。
在完成本次任务的架构设计后,我们尝试使用TDD(测试驱动开发)的开发流程,使用JUnit4模块为MyFileSystem类需要实现的接口方法建立测试。通过基本设计框架的确定,以及测试模块的搭建,更好地指导了本次任务的开发和功能实现。
时间规划
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟 |
|---|---|---|---|
| Planning | 计划 | 90 | 90 |
| Estimate | 估计这个任务需要多少时间 | 360 | 600 |
| Development | 开发 | 270 | 300 |
| Analysis | 需求分析 (包括学习新技术) | 30 | 30 |
| Design Spec | 生成设计文档 | 10 | 10 |
| Design Review | 设计复审 (和同事审核设计文档) | 10 | 10 |
| Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
| Design | 具体设计 | 30 | 30 |
| Coding | 具体编码 | 120 | 120 |
| Code Review | 代码复审 | 120 | 300 |
| Test | 测试(自我测试,修改代码,提交修改) | 120 | 300 |
| Reporting | 报告 | 60 | 60 |
| Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 20 |
整体来看,设计和主要代码的编写过程比较顺利,后期的测试花费了比想象中更多的时间。
结对作业-stage_1的更多相关文章
- 结对作业1----基于flask框架的四则运算生成器
011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...
- 软件工程第三次作业-结对作业NO.1
第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...
- 第6次结对作业--郑锦伟&古维城
第6次结对作业 在线英语学习平台客户端原型 1.结对成员 郑锦伟 2015034643034 古维城 2015034643033 2.原型设计工具实现-Photoshop 3.需求分析 使用NABCD ...
- [2019BUAA软件工程]结对作业
Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...
- [BUAA软工]第一次结对作业
[BUAA软工]结对作业 本次作业所属课程: 2019BUAA软件工程 本次作业要求: 结对项目 我在本课程的目标: 熟悉结对合作,为团队合作打下基础 本次作业的帮助:理解一个c++ 项目的开发历程 ...
- 软工实践——结对作业2【wordCount进阶需求】
附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...
- 第四,五周——Java编写的电梯模拟系统(结对作业)
作业代码:https://coding.net/u/liyi175/p/Dianti/git 伙伴成员:石开洪 http://www.cnblogs.com/shikaihong/(博客) 这次的作业 ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 结对作业(1.0版)(bug1已修复)
import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing ...
随机推荐
- SVG & getBBox
SVG & getBBox https://developer.mozilla.org/en-US/docs/Web/API/SVGGraphicsElement/getBBox const ...
- flutter 长按图片保存到手机
main.dart import 'dart:io'; import 'package:flutter/material.dart'; import 'package:http/http.dart' ...
- 彻底理解c++的隐式类型转换
隐式类型转换可以说是我们的老朋友了,在代码里我们或多或少都会依赖c++的隐式类型转换. 然而不幸的是隐式类型转换也是c++的一大坑点,稍不注意很容易写出各种奇妙的bug. 因此我想借着本文来梳理一遍c ...
- 执行Python程序时模块报错
1. 在执行python程序时遇到 'ModuleNotFoundError: No module named 'xxxxx'' : 例如: 图片中以导入第三方的 'requests' 模块为例,此报 ...
- winform导出excel
public void AllDataSetToExcel(DataSet ds) { string saveFileName = ""; bool fileSaved = fal ...
- 死磕Spring之IoC篇 - BeanDefinition 的解析阶段(XML 文件)
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- idea分布式创建子模块后不能创建java文件
问题描述:多模块情况下,创建java文件,找不到java类,如下图,即使手动创建,在里面编写内容也没有任何反应. 解决方案:右键将文件标记为Sources Root便可以了,如果想要标记为资源文件的话 ...
- springMvc+AJAX+JSON的增删改查
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 安鸾渗透实战平台-PHP代码练习
0x00 前言 --工欲善其事,必先利其器 0x01 代码理解 (1)linux命令 pwd 查看当前工作目录的完整路径 cd / 切换到根目录 ls / 查看根目录下的所有目录和文件 cat /[f ...
- Java(JDK/Tomcat/Maven)运行环境配置及工具(idea/eclipse)安装
Java (计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. Java语 ...