201971010246-王孜睿 实验四 团队作业1:软件研发团队组建

实验概要

1.实验内容

本实验利用 HBase 提供的 Java API 进行编程对 HBase 进行操作。

大数据时代的到来,对数据的处理与分析有了很高的要求。本项目以通话数据去展示如何处理并分析数据。

本项目主要分成如下几个部分:

生产日志【模拟通话 】
=> kafka 采集
【=> kafka API 的控制台展示】 =>HBASE(创建命名空间,创建表,rowKey设计,region预分区)
=>MapperReduce 分析 HBase 数据
=>将分析的数据写入到Mysql中
这个项目(Project)由多个模块(Modules)构成的,这些模块之间可以独立运行。所有模块如下:
ct_producer 实现数据的生产
ct_consumer 实现数据的消费【写入到HBase】
ct_analysis 实现数据的分析

2.实验知识点

Hadoop集群的安装部署

Hadoop集群的基本操作

Kafka数据采集工具的基本操作

HBase数据库的基本操作

MapReduce编程基础

MySQL的基本操作

Java语言的运用

Linux(CentOS7)基本操作

3.实验环境

代码复审的核查表
1.概要部分
(1)代码能符合需求和规格说明么?
(2)代码设计是否有周全的考虑?
(3)代码可读性如何? 良好
(4)代码容易维护么? 容易
(5)代码的每一行都执行并检查过了吗?
2.设计规范部分
(1)设计是否遵从已知的设计模式或项目中常用的模式?
(2)有没有硬编码或字符串/数字等存在?
(3)代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)?
(4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?
(5)在本项目中是否存在类似的功能可以调用而不用全部重新实现?
(6)有没有无用的代码可以清除?
3.代码规范部分
(1)修改的部分符合代码标准和风格么(详细条文略)? 符合
4.具体代码部分
(1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?
(2)参数传递有无错误,字
(3)边界条件是如何处理的?Switch语句的Default是如何处理的?循环有没有可能出现死循环? 无死循环
(4)有没有使用断言(Assert)来保证我们认为不变的条件真的满足?
(5)有没有可能优化?
(6)数据结构中是否有无用的元素?
5.效能
(1)代码的效能(Performance)如何?最坏的情况是怎样的?
(2)代码中,特别是循环中是否有明显可优化的部分?
(3)对于系统和网络调用是否会超时?如何处理?
6.可读性
代码可读性如何? 良好
7.可测试性
代码是否需要更新或创建新的单元测试? 不需要

3. 阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:

A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片

使用过程同上一个任务,故不再叙述

B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?

任务三所要求的功能已经基本实现,但也有个别功能不够完善,比如各项功能无法在前端实现;
数据处理简单有效,值得学习,但是界面友好程度不足,遗传算法不够成熟;
改进界面的友好程度,进一步改进遗传算法,对于每个算法的时间复杂度较大,很是占用资源,希望可以改进;

C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?

职业:算法初学者
学历:大学二年级
专业:计算机相关专业
爱好:喜欢研究算法
收入:无要求
表面需求:D{0-1}KP算法求解以及前端设计;
潜在需求:回溯算法、动态规划算法以及遗传算法的时间、空间复杂度对比分析

4. 经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐

e) 非常推荐

任务二

团队创建

详见团队博客:团队链接

体会与感受

通过本次实验,我了解了团队模式,同时组建了一支团队,对于初创团队,我认为信任与分工甚是重要,需要根据每个成员的擅长领域,性格特征来分配团队任务,完成团队项目,这对每个成员都要求具有较强的团队精神与合作意识。同时通过查找别人作业bug,能够很清楚的认识自己的不足,能够很好地量化作业完成度,希望再以后的学习中再接再厉,继续加油!

posted @ 2022-04-11 12:45  一周八休  阅读(52)  评论(0编辑  收藏  举报