201871030116-李小龙 实验二 个人项目—《D{0-1} KP》项目报告
| 项目 | 内容 |
|---|---|
| 课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST |
| 这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14552393.html |
| 我的课程学习目标 | (1)掌握软件项目个人开发流程。(2)掌握Github发布软件项目的操作方法。 |
| 这个作业在哪些方面帮助我实现学习目标 | 进一步掌握软件项目个人开发流程;更好地掌握Github发布软件项目的操作方法;温习原先学习的知识,进一步对所学知识巩固利用。 |
| 项目Github的仓库链接地址 | https://github.com/lixiaolot/BruseResponse |
任务1
阅读教师博客“常用源代码管理工具与开发工具”内容要求,点评班级博客中已提交相关至少3份作业。
教师博客“常用源代码管理工具与开发工具”内容要求

作业点评
作业1链接:
https://www.cnblogs.com/krypton052/p/14551169.html
作业2链接:
https://www.cnblogs.com/labmem/p/14550336.html
作业1链接:
https://www.cnblogs.com/chenhuiru/p/14549775.html
任务2
详细阅读《构建之法》第1章、第2章,掌握PSP流程
内容总结
《构建之法》第一章,把航空业的发展历程当作模型用来类比软件工程的发展。软件程序从最简单的“Hello World”到写大程序到构建一个更大的软件系统的从简到繁,从易到难的发展历程。软件=程序+软件工程。
软件工程是什么?书上是这么说的:
软件工程是把系统的、有序的、可量化的方法应用在软件的开发、运营和维护上的工程。
《构建之法》第二章,作者对比了中科大大四学生和工作三年的工程师的PSP表格,综合各类表格,作者总结了个人软件开发流程的任务清单,下面会给出阐述。
PSP(Personal Software Process),个人软件开发流程的任务清单如下所示

PSP是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。
任务3
项目开发背景:背包问题(Knapsack Problem,KP)是NP Complete问题,也是一个经典的组合优化问题,有着广泛而重要的应用背景。{0-1}背包问题({0-1 }Knapsack Problem,{0-1}KP)是最基本的KP问题形式,它的一般描述为:从若干具有价值系数与重量系数的物品(或项)中,选择若干个装入一个具有载重限制的背包,如何选择才能使装入物品的重量系数之和在不超过背包载重前提下价值系数之和达到最大?
需求分析
在日常生活中我们经常会遇到0-1背包问题,像旅行时要带哪些东西,怎样安排车辆的装载可以达到最大载重等等,为此,我们通过编写程序来完成对问题的解决。0-1背包问题简要描述如下:现有n个物品,质量分别是w1,w2,···,wn,价值分别是p1,p2,···,pn,并有一个容量为c的背包,如何选择放入背包中的物品方案,使其满足背包容量限制,并使装入背包中的物品的总价值为最大。功能设计
- 读入文件
- 将txt中的数据存入列表
- 动态规划法求解背包问题
- 画出关于重量与价值的散点图
设计实现
- 读入数据:
运行截图:
- 存入列表截图:

- 散点图:

- 动态规划法求的最优解:

- 读入数据:
测试运行
运行结果:


粘贴代码片段
- 读入与分割文件:
temp=""
f = open("C:\\Users\LeeBruce\Desktop\\idkp1-102.txt", "r", encoding='utf-8')
temp=f.readline() #print(temp)
lines = f.readlines()
data_1 = open("C:\\Users\LeeBruce\Desktop\\奇数行.txt", 'w', encoding='utf-8')
data_2 = open("C:\\Users\LeeBruce\Desktop\\偶数行.txt", 'w', encoding='utf-8') num = 0 # 行数-1
for line in lines:
if (num % 2) == 0: # num为偶数说明是奇数行
print(line.strip(), file=data_1) # .strip用来删除空行
else: # # num为奇数说明是偶数行
print(line.strip(), file=data_2)
num += 1
data_1.close()
data_2.close()
f.close()总结
通过这次实验,我学到了很多知识,丰富了对python语言的认识以及了解到算法在软件工程中的重要性,在以后的学习中,我会更进一步来学习认识越来越多的知识,并且不断进步,取得好的成果。展示PSP
| PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
|---|---|---|---|
| Planning | 计划 | 8 | 6 |
| Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 8 | 6 |
| Development | 开发 | 600 | 520 |
| Analysis | 需求分析 (包括学习新技术) | 15 | 10 |
| Design Spec | 生成设计文档 | 30 | 50 |
| Design | 具体设计 | 52 | 50 |
| Code Review | 代码复审 | 15 | 10 |
| Postmortem & Process Improvement Plan | 事后总结 ,并提出过程改进计划 | 30 | 30 |
任务4
完成任务3的程序开发,将项目源码的完整工程文件提交到你注册Github账号的项目仓库中。
- Github账号项目仓库的创建
首先打开GitHub账号主页,在账号首页右上角找到一个加号,点击里面有一个New repository选项即创建新的仓库,如下图所示:

之后,进入下图这个界面:

接下来,填写相关信息,仓库创建成功。

仓库地址:https://github.com/lixiaolot/BruseResponse
201871030116-李小龙 实验二 个人项目—《D{0-1} KP》项目报告的更多相关文章
- 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...
- 201871030114-蒋鑫 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接☛ 班级博客 这个作业要求链接☛ 作业要求 我的课程学习目标☛ 1. 体验软件项目开发中的两人合作,练习结对编程(Pair programming).2. 掌握Github ...
- 201871030115-康旭 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 18卓越班 这个作业要求链接 实验三结对编程要求 我的课程学习目标 (1)体验软件项目开发中的两人合作,练习结对编程(Pair programming):(2)掌握Git ...
- 201871030140-朱婷婷 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验三 结对项目 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程:2.掌握GitHub协作开发程序的操作方法. 这个 ...
- 201871030136-颜静 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- 201871030137-杨钦颖 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
201871030137-杨钦颖 实验三 结对项目-<D{0-1}KP 实例数据集算法实验平台>项目报告 项目 内容 课程班级博客链接 班级连接 这个作业要求链接 作业连接 我的课程学习目 ...
- 20155219&20155224 《信息安全系统设计基础》实验二 固件程序设计
实验二 固件程序设计-1-MDK 0. 注意不经老师允许不准烧写自己修改的代码 1. 两人(个别三人)一组 2. 参考云班课资源中"信息安全系统实验箱指导书.pdf "第一章,1. ...
- 201871030108-冯永萍 实验二 个人项目— D{0-1}背包问题项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...
- 201871030125-王芬 实验二 个人项目-《D{0-1}问题》软件项目报告
实验二 个人项目-<D{0-1}问题>软件项目报告 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 ...
- 201871030131-谢林江 实验二 个人项目—《D{0-1} KP》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.学习编写PSP2.完成个人项目实验要求3.在Github建仓 这个作业在哪些方面帮助我实现学习目标 1.首次编 ...
随机推荐
- js 的 ArrayBuffer 和 dataView
arrayBuffer文档 一个十六进制代表4位,0xF = 1111,0xFF = 1111 1111,八位是1字节,所以通常用两个16进制代表1字节. 假如我申请一个8字节的内存空间,然后初始化为 ...
- DeFi里的灰度?每月获得高收益?BGV代币初探
2020年已经接近了尾声,但是DeFi市场的热闹场面并没有停止,或者说,一直在延续.资本市场不断将大批的资金投入到DeFi市场中,以求在这波热潮中赚得一波又一波红利. 美国时间12月21日,Bacca ...
- RabbitMq手动确认时的重试机制
本文转载自RabbitMq手动确认时的重试机制 消息手动确认模式的几点说明 监听的方法内部必须使用channel进行消息确认,包括消费成功或消费失败 如果不手动确认,也不抛出异常,消息不会自动重新推送 ...
- 010_HTML5
目录 初识HTML 什么是HTML HTML发展史 HTML5的优势 W3C标准 常见IDE IDEA开发HTML IDEA创建HTML文件,并用浏览器打开 配置浏览器 HTML基础 HTML基本结构 ...
- node_puppeteer无界爬虫
环境:node----v14.5.0 vscode----2019 依赖库 (需要自行设置好目录结构,否则会报目录错误) const puppeteer = require("puppete ...
- Dokcer中Mysql的数据导入导出
导出 1.首先进入容器,输入提取数据库文件命令 mysqldump -u root -p rw 数据库名> 输出.sql,提取到当前容器 2.退出容器,进入linux:输入拷贝命令 docker ...
- 生成UUID的代码
代码: String reqId = UUID.randomUUID().toString().replace("-", "");
- 原生JS快速实现拖放
原生 JS 快速实现拖放 拖放是很常见的一种交互效果,很多时候我们都会借助于第三方的控件来实现,其实用原生 js 实现起来也非常的方便.接下来我们就用原生 js 和 css 快速实现拖放效果 html ...
- 基于jQuery1.4.2轻量级的弹出窗口jQuery插件wBox 1.0
Box特点 背景透明度可以根据实际情况进行调节 可以根据需要添加wBox标题 支持callback函数 支持html内容自定义 支持在wBox显示#ID的内容 支持Ajax页面内容 支持iFrame ...
- mysql内一些可以报错注入的查询语句
一.exp() 取反参数 该函数简单来说就是,以e为底的对数,在当传递一个大于709的值时,函数exp()就会引起一个溢出错误,取反则可以导致很小的数值变得很大,比如说0 这样既可配合使用,e ...