223201062523﹣软件工程基础 Y ﹣实验一李凌桦
沈阳航空航天大学
软 件 工 程 基 础
实 验 报 告
实验名称:实验一
实验题目:个人项目
专 业 |
软件工程 |
学 号 |
223201062523 |
姓 名 |
李凌桦 |
|
|
指导教师 |
孟桂英 |
成 绩 |
|
目 录
沈阳航空航天大学I
1 实验内容及要求1
1.1 教学内容及要求 1
1.2 实验要求 1
1.2.1创建博客园和Github账号 1
1.2.2阅读材料并思考 1
1.2.3 阅读材料 2
2 实验步骤1
2.1任务1实验过程 1
2.1.1创建博客 1
2.1.2创建github账号 1
2.2任务二实验过程 2
2.3任务三实验过程 3
2.3.1代码链接 3
2.3.2工作记录 3
2.3.3测试用例 3
2.3.4测试过程 4
3 总结与体会7
1 实验内容及要求
1.1 教学内容及要求
建立个人博客,完成开发环境和自动测试环境安装,完成自动测试项目。
学习开发环境安装和配置;掌握自动测试技术相关工具使用;将相关技术应用于具体题目。
1.2 实验要求
1.2.1创建博客园和Github账号
需要在博客园创建个人博客账号,并在GitHub代码托管平台中建立账号。GitHub地址格式为:https://github.com/zhanglsh。
请在实验报告中给出博客地址。
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/FDFH/
图2.11创建博客截图
2.1.2创建github账号
图2.12创建github账号截图
2.2任务二实验过程
请阅读北航陈彦吉同学的这篇博客中的各参考资料,并回答如下问题:
(1) 回顾你过去将近3年的学习经历
当初你报考的时候,是真正喜欢计算机这个专业吗?
还可以
你现在后悔选择了这个专业吗?
不后悔
你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?
喜欢后端方面的工作
(2) 总结你现在已经掌握的知识
你都具备了那些专业知识和能力?
C语言
你认为你已经为成为一个合格的计算机软件工程是做好准备了吗?在专业技术、个人能力以及其它方面你还有那些欠缺?
动手能力差,只学会了皮毛。
(3) 畅想未来
对照材料中前人的经历,你还准备从事计算机这个行业吗?
准备
你认为与其它专业的同学相比,你的优势都有哪些?
老师比较优秀
对已经不远的将来,你的职涯规划是什么?
直接工作
(4) 代码托管实训
用任何一种语言写一个能运行的小程序,要求输出字符串:“Hello World!”
把程序源代码上传至你注册的代码托管系统中
将代码地址附到博文中的最后部分,要求可以通过链接访问。
https://github.com/HGFTYKHG/hello-world.git/
2.3任务三实验过程
2.3.1代码链接
https://github.com/HGFTYKHG/shiyan1.git
2.3.2工作记录
按照下表填写工作记录表
表2.1 PSP0 工作记录表
项目 |
记录结果 |
日期 |
11.8 |
开始时间 |
17;00 |
结束时间 |
18;00 |
编码行数 |
32 |
错误数量 |
0 |
2.3.3测试用例
例子1
整数数量6
-2 11 -4 13 -5 -2
例子2
整数数量6
1 3 5 7 9 -4
例子3
整数数量5
1 -4 6 8 9
2.3.4测试过程
图1代码截图
图2代码运行截图
图3例子1运行截图
图4例子2运行截图
图5例子3运行截图
3 总结与体会
曾经以为程序就是软件,软件就是程序。现在知道了二者的不同之处,这是学习这门课程第一个收获。事实上在软件开发的早期阶段这也不能说是错误的。那个时候开发的软件都比较简单。当然可以把软件理解成程序,直到软件作坊的出现,使软件在程序的基础上加了个说明。以前做过的一些小型的软件比如加密软件,也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。这个时候软件工程应运而生了。
通过本次实验,使我对使用于以前设计软件从来没写过文档,开发到哪里算哪里,通过此次实验通过设计一个系统使我明白了软件设计的基本方法首先了解实验任务和需求,进行需求分析,根据程序设计方法画出各级数据流图及程序流程图,再根据软件功能确定一类语言。此次实验我用的是,作为初学者,我觉得这门语言具有简单易学、可视效果较好的特点。特别是它的控件较多,可以省去许多语言的编程,比较适用初学者。本次实验综合运用过去学习到的编程知识实现一个软件的局部功能,为毕业设计打下基础。