软件工程——个人总结

一、回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:
1.学习和使用的新软件
1)UML建模工具(Enterprise Architect)
2)Git仓库

2.学习和使用的新工具
1)新浪云编译工具
2)UML建模工具(Enterprise Architect)画类图、用例图、流程图
3)My sql作为数据库管理系统

3.学习和掌握的新语言、新平台
新语言:HTML网页编辑
新平台:新浪云

4.统计一下,你在这软件工程实践中,完成了多少行的代码
完成了1000行左右的代码

5.学习和掌握的新方法
1)原型界面设计
2)网页制作
3)数据库设计

二、总结与展望
1.记录自己在软件工程课程上的经验总结
第一,我认为软件工程这门课主要培养团队合作能力,在完成课程设计的过程中,团队成员不仅要有一致的目标,而且必须要有明确的分工,这样才能够提高项目质量,高效率的完成课设;第二,学习软件工程,一定要理论实验相结合,否则很难理解有些理论的真正含义;第三,编写代码时要认真仔细,规范代码的编写格式,要不断进行软件测试,提高代码的质量和可读性,而且代码备份在开发软件过程中也极其重要。我认为《软件工程》这门课程与其他专业课有所不同,本课程显得更为有趣,学习这门课不仅能培养软件的开发能力,还能培养团队合作能力,这打破了以往我对计算机专业枯燥乏味的看法。通过这学期的《软件工程》这门课程的学习,使我受益良多,也大大提升了学习的兴趣。

2.对于下一届的学弟学妹你有什么建议和告知呢?
1)认真学习理论课,做到理论实验相结合
2)规范代码,备份代码,不断进行代码测试
3)团队目标要一致,分工要明确
4)选择项目课题时要选择团队成员都认同的课题,这样更能调动积极性
3.分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
我们团队经历了萌芽阶段、磨合阶段、规范阶段,并且最终达到创造阶段:
本次项目开发,我们团队目标一致,分工明确,大家都会积极完成自己的工作, 在项目的开发过程中,由于我们专业知识的欠缺,遇到了不少困难,但是我们没有退缩,团队成员间及时沟通并一起解决问题,最终成功地完成了项目。总之,本学期学习软件工程,使我们团队受益良多,每个人的能力都有了一定程度的提升。

4.个性发挥,包括图文、照片和创意等
下图为我们团队项目的微信公众号二维码:

三、对第一次作业中的5个问题重新回答:

  1. 怎样才算一个好的单元测试;
    答:好的单元测试还需有以下一系列标准:
    1)单元测试应该在最低的功能/参数上验证程序的正确性
    2)单元测试过后,机器状态保持不变
    3)单元测试要快(一个测试运行时间是几秒钟,而不是几分钟)
    4)单元测试应该产生可重复、一致的结果
    5)单元测试应该集成到自动测试的框架中
    6)单元测试必须和产品代码一起保存和维护
    7)单元测试必须和代码一起进行版本维护

2.不在设计范围内的话,出现了用户需求,这算不算BUG;
答:算,软件开发是按照流程开发的,要认真对需求进行分析,由于测试的服务对象是用户,在遇到此类问题时需要和用户及时沟通解决。

3.敏捷流程是结果重要还是过程重要;
答:敏捷流程是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。由此可见敏捷流程是过程比较重要。

4.如果数据量增大,是优化算法更可靠,还是分批处理更可靠;
答:根据具体情况选择不同的方法:
1)选用优秀的数据库工具
2)编写优良的程序代码
3)对海量数据进行分区操作
4)建立广泛的索引
5)建立缓存机制
6)加大虚拟内存
7)优化查询SQL语句
8)使用文本格式进行处理
9)使用采样数据,进行数据挖掘
10)避免使用32位机子(极端情况)
5.怎么按部就班的进行需求分析。
1)正确客观分析用户的需求
2)根据用户的需求进行市场需求调查
3)根据市场需求调查的结果评估企业的生产能力、销售水平
4)从实际出发确定企业计划做的项目
5)依照科学规律开发产品
6)根据市场的实际需求确定产品生产的规模

posted @ 2017-06-25 12:24  嗯嗯!  阅读(198)  评论(0编辑  收藏  举报