软件工程学习总结

一、学习收获:这学期你学到的对软件工程相关知识有哪些? 本课程对你在哪 些方面有帮助?

软件工程,一个项目的流程有如下一些步骤。
1.需求确认
1)收集需求
包括蓝图(外貌)文档,预排文档, 域术语表, 域专家和终端用户会谈,功 能规范和工作陈述。
2)需求分类

用户需求:是具体的蓝图。表达了用户需求什么内容来完成他们的工作,包括他 们将在这些工作中执行的过程。
功能需求:更为具体的用户需求。
操作约束(Operation constraint),工作方法的约束。
数据库约束(Database constraint)。
角色:角色表示任何外部系统,这些系统与正在设计的系统进行互操作。
域对象:这些是客户希望系统代表或保持的任何对象或实体。

3)绘图需求
创建反映需求的UML图。要用到用例图、活动图和类图。

4)评审需求
开始构建系统的法则:
对所有现有的用例进行了绘图;

2.概要设计
软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑 ,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计 、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
 
3.详细设计
详细设计阶段的任务是开发一个可以直接转化为程序的软件表示,即对系统中每 个模块的内部过程进行设计和表示。
1)流程图
2)结构化流程图
3)问题分析图
4)PDL语言

4.编码
在软件编码阶段,开发者对数据结构、算法分析和模块实现等方面的设计要求, 开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能 、性能、接口、界面等方面的要求。编码时的相互沟通和应急的解决手段都是相 当重要的,对于程序员而言,bug永远存在,当然你必须永远面对这个问题。

5.软件交付
    在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装 程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、 设计报告、测试报告等双方合同约定的产物。

6.验收
我们这里是针对用户验收。

7.维护 
根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。
1)软件数据库管理
2)用户跟踪培训
3)故障分析解决

8、用户体验

用户的第一印象

从用户的角度考虑问题

软件服务始终都要记住用户的选择

9、软件测试

单元测试、代码覆盖率测试、构建验证测试、验收测试、“探索式”的测试、回归测试、

伙伴测试、效能测试、压力测试、内部/外部公开测试、易用性测试

10、质量保障

软件=程序+软件工程

二、不足之处:课程在哪些方面与你最初的期望有较大差距? 教学方法、教学 内容等提出批评意见。

起初我以为,软件工程这门课程老师会带着我们做一个个软件项目,来让我们掌握和熟悉软件开发的工作流程。在软件工程的教学中,老师上课都是通过PPT授课,而并非死看书,可没有实践和演示理解起来有点困难,和同学间的互动不多。希望以后的课程可以多一些互动环节,通过PPT和演示相结合来授课, 提高大家的上课的积极性。

三、建议: 如果让你重新开始学习这么课程,你准备怎么做? 如果让你从大一 开始重新学习,你又准备怎么做?对老师教学方式、作业布置方式和点评、教学
内容组织三个方面有什么建议和意见。

1.如果重新开始学习这门课程,我会和老师多一些交流,并做到课前复习,同时我也会渐渐地去适应老师的教学方法。

如果从大一开始重新学习,我会首先自学C语言,因为我们大一一开始就学习C++这门课程,导致以这门课程入门后,后面接触编程的时候很多不懂,对有关编程方面也有了些厌恶情绪。

3.教学方式:建议老师和同学多一些互动环节,之前的关于设计一款给爸爸妈妈 用的手机的讨论课,同学们讨论的很积极,各自的想法也很独特,既开发了我们的思维又提高我们学习的兴趣。

我们平时的作业都要求写在博客里,以前从来没有试过这种作业方式,后来发现这种方式的很便捷,老师改作业也方便。与此同时我们也可以看到其他同学的作业情况,能够做到取长补短。这种作业布置方式挺好的。

 

四、推荐一位你觉得教得好的老师,介绍下你喜欢的教学方法、作业形式,以及 你们如何师生沟通的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypwws.html