223201062522-软件工程基础Y- 实验一 赵中垚个人项目报告
软 件 工 程 基 础
实 验 报 告
实验名称:实验一
实验题目:个人项目
专 业 | 软件工程 |
学 号 | 223201062524 |
姓 名 | 赵中垚 |
指导教师 | 孟桂英 |
成 绩 |
完成时间: 2022 年 11 月
目 录
1 实验内容及要求
1.1 教学内容及要求
建立个人博客,完成开发环境和自动测试环境安装,完成自动测试项目。
学习开发环境安装和配置;掌握自动测试技术相关工具使用;将相关技术应用于具体题目。
1.2 实验要求
1.2.1创建博客园和Github账号
需要在博客园创建个人博客账号,并在GitHub代码托管平台中建立账号。GitHub地址格式为:。
请在实验报告中给出博客地址。https://github.com/lspzdl/hello-world.git
1.2.2阅读材料并思考
请阅读北航陈彦吉同学的这篇博客中的各参考资料,并回答如下问题:
(1) 回顾你过去将近3年的学习经历
当初你报考的时候,是真正喜欢计算机这个专业吗?
你现在后悔选择了这个专业吗?
你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?
(2) 总结你现在已经掌握的知识
你都具备了那些专业知识和能力?
你认为你已经为成为一个合格的计算机软件工程是做好准备了吗?在专业技术、个人能力以及其它方面你还有那些欠缺?
(3) 畅想未来
对照材料中前人的经历,你还准备从事计算机这个行业吗?
你认为与其它专业的同学相比,你的优势都有哪些?
对已经不远的将来,你的职涯规划是什么?
(4) 代码托管实训
用任何一种语言写一个能运行的小程序,要求输出字符串:“Hello World!”
把程序源代码上传至你注册的代码托管系统中
将代码地址附到博文中的最后部分,要求可以通过链接访问。
1.2.3 阅读材料
请阅读邹欣老师的这篇博文和构建之法第1~3章内容,尤其是第2章效能分析和第3章代码规范部分。回顾和复习课堂讲授的单元测试部分内容。完成下面题目之一。
题目一:最大连续子数组和(最大子段和)
背景
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
题目二:四则运算式生成器
背景
某个小学老师请你为她编写一个能够自动生成四则运算练习题的小程序,要求输入年级和题目数量,程序根据年级输出规定数量的题目,具体要求如下:
一年级运算数为20以内,只生成加法或减法运算式,结果小于20
二年级运算数为50以内,生成加法和减法混合运算式,结果小于50
三年级运算数为1000以内,生成加法、减法和乘法混合运算式
四到六年级运算数为非负整数,生成至少带有三个运算符(从加减乘除四个符号中任选三个)和括号的混合运算式,结果不能为负数
具体要求:
(1) 请从上述两个题目中根据个人实力任选一题,要求写出可运行的完整代码提交至GitHub系统中,并给出代码地址
(2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(3) 请利用自动测试工具对程序进行测试
(4) 请将程序运行结果和自动测试分析结果截图保存,并附在实验报告中。
2 实验步骤
2.1任务1实验过程
2.1.1创建博客
博客地址https://www.cnblogs.com/zhaozyao/
图2.11创建博客截图
2.1.2创建github账号
图2.12创建github账号截图
2.2任务二实验过程
请阅读北航陈彦吉同学的这篇博客中的各参考资料,并回答如下问题:
(1) 回顾你过去将近3年的学习经历
当初你报考的时候,是真正喜欢计算机这个专业吗?
比较喜欢但更多是为了就业考虑。
你现在后悔选择了这个专业吗?
不后悔。
你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?
喜欢后端工作。
(2) 总结你现在已经掌握的知识
你都具备了那些专业知识和能力?
对C语言略有了解
你认为你已经为成为一个合格的计算机软件工程是做好准备了吗?在专业技术、个人能力以及其它方面你还有那些欠缺?
我认为还差的很多 在专业技术方面还需要多多实践 个人能力需要提升 并且需要认真学习专业知识
(3) 畅想未来
对照材料中前人的经历,你还准备从事计算机这个行业吗?
准备
你认为与其它专业的同学相比,你的优势都有哪些?
努力上进
对已经不远的将来,你的职涯规划是什么?
就业
(4) 代码托管实训
用任何一种语言写一个能运行的小程序,要求输出字符串:“Hello World!”
把程序源代码上传至你注册的代码托管系统中
将代码地址附到博文中的最后部分,要求可以通过链接访问。https://github.com/lspzdl/ruanjianshixun1
2.3任务三实验过程
2.3.1代码链接
https://github.com/lspzdl/hello-world.git
2.3.2工作记录
按照下表填写工作记录表
表2.1 PSP0 工作记录表
项目 | 记录结果 |
---|---|
日期 | 11.8 |
开始时间 | 17;00 |
结束时间 | 18;00 |
编码行数 | 32 |
错误数量 | 0 |
2.3.3测试用例
整数数量6
1 5 6 -4 -44 3
例子2
整数数量8
1 4 6 7 32 -4 -6 -9
例子3
整数数量6
3 4 98 6 -5 3
2.3.4测试过程
图1代码截图
图2代码运行截图
图3例子1运行截图
图4例子2运行截图
3 总结与体会
我是一名专升本的学生,在专科时学习的是汽车专业,当我第一次接触软件工程是在视频软件上资深软件工程师发布软件的视频,对这门专业十分感兴趣,然后我就想好好接触一下有关科目,刚开始接触的时候感觉这门科目比我想象的要难许多,而且我还是跨专业的学生,所以在学习的时候真的是绞尽脑汁,当时就感觉这个本科和专科差不多,但是在上课的时候发现了许多不同,有数不清的实验,每节课上的都很充实,老师们也都很好,但是还是有点跟不上老师的节奏,让我这个初学者对我感兴趣的专业有许多期待。总体来讲本科生活还是比较有趣比较充实的,毕竟遇到了很厉害的老师,虽然作业和实验比较多,但是非常充实,学到新的东西能解决问题的感觉非常棒。
之前觉得开发项目最重要的就是把代码写好写对,但是因为我对这个专业的不熟悉,所以对编写代码有点畏惧,可能是因为刚刚接触又因为是跨专业所以就很排斥这个东西。后来经过学习专业课程到团队做项目再到学习软件工程实践课程之后我才真正意识到实施一个软件工程项目并不是说简单的会编码就能够解决问题的,因为一个软件的生命周期分为三个时期:软件定义时期、开发时期、维护时期,而这三个时期整体又分为七个阶段,他们分别是:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试,由此可看出,当我们开发一个项目时,更多的精力不是放在编码上,编码只是一个很小的模块,而是项目的整体结构上,需要团队的配合与沟通。
在这门科目上的学习让我知道了,团队合作的重要性,这学期就全面的说明了开发一个项目所需要的步骤以及开发项目过程中所需要注意的诸多细节和团队合作的重要性。我们的课程是理论基础与实践相结合,互相之间配合,所以我需要更加努力的去学习专业知识,并且多动手,让自己熟悉这个项目。