博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018软工实践第五次作业
阅读量:6261 次
发布时间:2019-06-22

本文共 2114 字,大约阅读时间需要 7 分钟。

结对作业 Round2

前言

  • stay hungry, stay foolish

I 分工

  • 黄sir ------------->> WordCount.exe 功能的更新和升级
  • 刘sir ------------->> 编写爬虫程序,生成文件

II PSP表格

PSP5.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 10
· Estimate · 估计这个任务需要多少时间 10 10
Development 开发 1620 1940
· Analysis · 需求分析 (包括学习新技术) 400 480
· Design Spec · 生成设计文档 30 20
· Design Review · 设计复审 20 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 30
· Design · 具体设计 150 100
· Coding · 具体编码 600 800
· Code Review · 代码复审 200 200
· Test · 测试(自我测试,修改代码,提交修改) 200 300
Reporting 报告 60 60
· Test Repor · 测试报告 30 40
· Size Measurement · 计算工作量 10 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 10
合计 1690 2010

III 解题思路描述与设计实现说明

  • 爬虫使用

    使用 C++ 编写了一段类似爬虫的程序

    在知道这个结对项目我要负责的部分之后我就想了:这估计是我现阶段的遇到第二棘手的问题,第一棘手的问题是‘穷’。还好本次作业给的时间足够长,不然真的要崩溃了。

    在编写爬虫程序的初期,首先想到的是助教姐姐提到的 “在 C++ 中调用 Python 的脚本” 来运行,查了好长时间后,由于没找到合适的文章再加之自己并没有 Python 的基础,放弃了这一想法。

    后来给予我灵感的是 ,在这篇文章中,博主运用 java 语言,使用正则表达式匹配这一方法将知乎的编辑推荐内容输出到 IDE 的界面上。但是由于我们打算使用
    C++ 来编写爬虫程序,遂弃之。苦思良久,某一日突发奇想,为何不使用我最熟悉的 C++ 来进行上篇博主的工作呢?博主是直接对网页的源码遍历后进行匹配,我亦可以使用 C++ 对网页源码进行筛选!
    抱着试一试的心态,我尝试着使用网上的教程来对网页源码进行分析,后来发现自己这方面的基础过于薄弱,无法理解更具体的遍历和匹配问题,也就无法进行信息的爬取。但这个问题几乎在两秒后就解决了,
    “我不是之前有一个 WordCount 程序吗?把网页当文本传进来不就行了?”,哇,似乎我做爬虫和队友的工作没有任何一点关系,但正是前面的工作对我这个项目的完成起到了至关重要的作用,nice兄dei!
    于是接下来的任务就轻松了很多,首先是查找使用 C++ 获取网页源码的程序,再将找到的 html 输出到文本中,再对输出的文本进行筛选、匹配和输出等工作。

  • 代码组织与内部实现设计(类图)

    1473324-20181009233853479-340827757.png

  • 算法的关键与关键实现部分流程图

    算法的关键是我从网上找到的一段能够显示网页源码的代码,,这段代码使用了微软提供的Winnet类,Winnet类一个应用层的网络通信组件,它可以使应用程序很容易的实现http、ftp、gopher等协议而不需要去深入的了解协议本身的规范。有了这段代码后,我学习了将输出写到文件的方法,将找到的html写到一个txt文件中。至于其他工作,在前面这些看来也是微乎其微了。

IV 附加题设计与展示

  • 设计的创意独到之处

    可以输出每个月发表的论文的数量并且输出每个月对应的论文题目

  • 实现思路

    新建一个名为 month 的类,对输出文件进行遍历,如果找到某月的论文,就将对应月份论文的数量加一,在将论文题目输出到对应月份下面。

  • 实现成果展示

1473324-20181009233907614-614714034.png

1473324-20181009233915207-1979221445.png

V 遇到的代码模块异常或结对困难及解决方法

  • 问题描述

    遇到很多次没有考虑到输入字符串长度的问题

  • 做过哪些尝试

    百度,然后通过设置断点的方法解决

  • 是否解决

    解决了

  • 有何收获

    做题要细心啊,要把所有情况考虑进去

VI 评价你的队友

  • 值得学习的地方

    黄鸿杰同学是一个非常认真的同学,题目比我看得仔细,代码组织方面也比我谨慎

  • 需要改进的地方

    希望黄鸿杰同学之后可以及时和我探讨项目问题,不要等自己的部分都快做完了,才通知我要做什么,这样我鸭梨很大

VII 学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 300 300 25 25 C++熟悉,对文件读取分析方法
2 0 300 7 32 Axure rp 8使用 熟悉NABCD模型
3 300 600 44 76 使用C++编写爬虫程序

转载于:https://www.cnblogs.com/howtoloveyou/p/9763869.html

你可能感兴趣的文章
HDU 4089 Activation
查看>>
对MSRA-USTC 2011的 meng-meng(萌萌) 的team project的学习和评价
查看>>
COM逐步教程
查看>>
数据库改名系列(数据库名,逻辑名,物理文件名)
查看>>
新大陆。。?
查看>>
PING 命令中的TIL值
查看>>
U3D内存优化
查看>>
树的数据生成器
查看>>
Java进阶篇设计模式之二 ----- 工厂模式
查看>>
BZOJ1103 [POI2007]大都市
查看>>
cookies和session区别
查看>>
【Unity Shader】渲染管线
查看>>
杭电ACM--2002计算求得体积
查看>>
【洛谷1231】 教辅的组成(网络流)
查看>>
consul_nginx_uprsync动态负载均衡
查看>>
CentOS 7安装与配置JDK8
查看>>
异步导致UI句柄增加的解决办法
查看>>
2018.6.26 jq
查看>>
在Mac上使用vs-code快速上手c语言学习(入门文,老鸟退散)
查看>>
Requests模块
查看>>