第五次作业——效能分析与几个问题(个人作业)

前言

阅读了大家对于本课程的目标和规划之后,想必很多同学都跃跃欲试,迫不及待想要提高自身实践能力,那么就从第一个个人项目开始吧,题目要求见下。

阅读

阅读《构建之法》第一章至第三章的内容,并在下方作业里体现出阅读后的成果。特别是第2章中的效能分析及个人软件开发流程(PSP)。

参考文章:

题目描述

可以选择以下题目(或者自主选择题目和语言,提交材料不变):

题目要求:

  • 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
  • 除了整数外,还要支持真分数的四则运算

工具清单

测试须知

要求与说明

  • 【项目设计】分析并理解题目要求,独立完成整个项目,并将遵循上述测试须知中规范的最新项目发布在Github上。
  • 【项目测试】使用单元测试对项目进行测试,并使用插件查看测试分支覆盖率等指标。
  • 【性能优化】完成项目的首个版本之后,使用性能分析工具找出代码中的性能瓶颈并进行改进。
  • 【源代码管理】在项目实践过程中需要使用Github管理源代码,代码有进展即签入Github。签入记录不合理的项目会被助教抽查询问项目细节。
  • 【博客发布】按照要求发布博客,利用在构建之法中学习到的相关内容,结合个人项目的实践经历,撰写解决项目的心路历程与收获。博客与Github项目明显不符的作业将取消作业成绩。

博文规范

将博文发布到个人博客上,并提交到班级博客群,word留档案,且需包含以下8个内容。(10分)

  • 在文章开头给出Github项目地址。(0.5‘)
  • 在开始实现程序之前,在下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。(0.5‘)
  • 解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的心路历程。(0.5‘)
  • 设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?(2‘)
  • 代码说明。展示出项目关键代码,并解释思路与注释说明。(2‘)
  • 测试运行。程序必须是可运行的,展示出程序运行的截图。PS:如果有扩展需求或者更高级的需求,请秀出来,有额外加分。(2‘)
  • 记录在改进程序性能上所花费的时间,描述你改进的思路,并展示一张性能分析图,并展示你程序中消耗最大的函数。PS:如果采用Visual Studio Community 2015开发,使用C++或者C#语言实现,VS 2015的性能分析工具可自动生成。(2‘)
  • 在你实现完程序之后,在下述PSP表格记录下你在程序的各个模块上实际花费的时间。(0.5‘)

特别注意:

  • 按时间完成并提交——正常评分
  • 晚交一周以内——0分
  • 晚交一周以上或不交——倒扣本次作业分数

附加题(2分)

助教写了一个四则运算的测试程序 ,
目的是测试同学的生成的四则运算程序是否符合要求, 目前正在内测阶段,测试程序是RESTful形式发布的:

接口地址

参数说明

如果:

  1. 参与内测,测试的方式有很多种,同学的程序可以直接通过RESTful方式来访问测试程序(推荐),
    也可以通过执行自己的程序来对比测试程序执行的结果,无论通过哪种方式,需要至少提出测试程序的一个bug。
  2. bug需要直接在这里提issue,同时在博客中附上issue的链接。

可以获得2分的附加分。

参考链接

附:PSP 2.1表格

psp2.1 Personal Software Process Stages Time(%)student Time(%)SDE
Planning 计划
Estimate 估计这个任务需要多少时间
Development 开发
Analysis 需求分析
Design Spec 生成设计文档
Design Review 设计复审(和同事审核设计文档)
Coding Standerd 代码规范(为目前的开发制定合适的规范)
Design 具体设计
Coding 具体编码
Code Review 代码复审
Text 测试(自测,修改代码,提交修改)
Reporting 报告
Text Report 测试报告
Size Measurement 计算工作量
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划

第五次作业——python效能分析与几个问题(个人作业)的更多相关文章

  1. 软工第五次作业——Python效能分析之四则运算生成器

    Github项目地址: https://github.com/JtvDeemo/elementary-arithmetic PSP PSP2.1 Personal Software Process S ...

  2. 《软件工程和Python》PYTHON效能分析和Django

    资料汇总网站:http://www.yzhiliao.com/my/course/55 一..作业下面两个题目任选一题: (1)运用jieba库分词(或者你喜欢的其他库),并把代码发到git上去(不发 ...

  3. 《构建之法》教学笔记——Python中的效能分析与几个问题

    <构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...

  4. [软工作业]-软件案例分析-CSDN

    [软工作业]-软件案例分析-CSDN(app) 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 ...

  5. python词频统计及其效能分析

    1) 博客开头给出自己的基本信息,格式建议如下: 学号2017****7128 姓名:肖文秀 词频统计及其效能分析仓库:https://gitee.com/aichenxi/word_frequenc ...

  6. 【转】python模块分析之unittest测试(五)

    [转]python模块分析之unittest测试(五) 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) p ...

  7. python实现四则运算和效能分析

    代码github地址:https://github.com/yiduobaozhi/-1 PSP表格: 预测时间(分钟) planning 计划 15 Estimate 估计这个任务需要多少时间 10 ...

  8. 2020BUAA软工个人博客作业-软件案例分析

    2020BUAA软工个人博客作业-软件案例分析 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分 ...

  9. 团队作业10——事后分析(Beta版本)

    团队作业10--事后分析(Beta版本) 目录 一.设想与目标 二.计划 三.资源 四.变更管理 五.设计与实现 六.测试与发布 七.总结 八.图片和贡献分分配 一.设想和目标 1.我们的软件要解决什 ...

随机推荐

  1. day 94 Django学习之django自带的contentType表

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  2. 20145207《Java程序设计》实验五(网络编程与安全)实验报告

    <Java 程序设计>实验五(网络编程与安全)实验报告 目录 改变 网络编程与安全实验要求 实验成果 课后思考 改变 修改了之前仅仅是贴了图片,连代码都没粘的状态.不过这篇博客我只能做到写 ...

  3. Jsp中格式化时间戳的常用标签

    接下来一段时间的记录,虽然不是一些什么全新的知识,但是作为后台开发人员都是应该必须掌握的前端基础技能,说实话,每一个后台程序员的短板就在于前端技能的弱而造就了不能更上一层楼.从今天开始,我将彻底开启菜 ...

  4. Oracle10g 客户端安装与配置说明

    1:百度文库 http://wenku.baidu.com/link?url=bA-FrFMaqxkoifwz-oiPeU5QmMVVJyy8rYDBryhTUCJywpkDS0VNJcObCIM8l ...

  5. c语言数字图像处理(四):灰度变换

    灰度变换 灰度变换函数 s = T(r)   其中r为输入图像在(x, y)点处的灰度值,s为输出图像在(x, y)点处的灰度值 灰度变换的作用 上图所示的两幅T(s)函数的图像曲线,第一幅图可以增强 ...

  6. 如何配置pycaffe

    首先,使用cmake配置.生成caffe的vs2015工程时,设定生成python接口,即BUILD项->BUILD_python.BUILD_python_layer,注意使用CMake生成V ...

  7. SICP读书笔记 3.3

    SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...

  8. 正则表达式的捕获组(Java)

    捕获组分类 普通捕获组(Expression) 命名捕获组(?<name>Expression) 普通捕获组 从正则表达式左侧开始,每出现一个左括号“(”记做一个分组,分组编号从1开始.0 ...

  9. Hyperledger Fabric -- gossip 协议

    Hyperledger gossip   本文记述了Hyperledger Fabric 中 一种网络数据同步协议--gossip,它的主要作用是致力于账本数据的安全传输,保证不同节点之间状态的同步和 ...

  10. tr命令详解

    基础命令学习目录 原文链接:https://www.cnblogs.com/ginvip/p/6354440.html 什么是tr命令?tr,translate的简写,translate的翻译: [t ...