搜索

软件工程师工作总结

发布时间: 2019.08.14

软件工程总结。

在平日里的学习与工作中,我们在某些情况下需要写总结报告。通过总结,我们可以更为客观的发现自我。每写一次总结,就让我们多一份思考的机会:一个人可以被打败,但绝不可以被打垮,就像工作一样,应当全力以赴。那么撰写总结需要注意哪些方面呢?下面是小编精心为您整理的“软件工程总结”,希望对您的工作和生活有所帮助。

今天视频看完了,可是没有总结。还是感觉不会总结。一想到50讲的课,怎么总结呢?开始听的时候,是真不知道从哪里下手,因为开始看的时候有种迷迷糊糊的感觉。软件工程,我期待的一门课就这么听完了一遍。很有些囫囵吞枣的感觉,不过收获还是很多的,至少知道了软件工程的阶段不是只有需求分析、编程和测试维护。当然这个很早之前就知道,只是以前根本没有什么概念。

第一个阶段,计划阶段,要首先对用户的要求进行了解,对软件的性能等进行了解。然后进行可行性分析研究,在各种可行性研究中,对于软件开发人员来说,技术可行性研究最重要。之后就是需求分析阶段了,需求分析阶段也是计划阶段的最后一部分。需求分析定义了要做什么。把现实的需要用程序语言表达出来。但是这一阶段并不解决怎么做。

解决怎么做的是下一个阶段——设计阶段。设计阶段分为概要设计和详细设计。概要设计把每个组成部分的功能都给出意义明确的模块,每个模块都和一部分需求相对应。但是不考虑细节。详细设计,把每个模块的功能实现详细的表示出来,为源程序的编写打下基础。然后就是编程阶段,我们一般最初接触的就是编程,所以编程阶段比较了解,由于前期文档已经做的很详细,功能的实现数据和算法都已经清楚了,所以编程是比较简单的。

编程完了就是测试阶段了,测试阶段的费用是最多的。测试阶段是发现错误的阶段,改错是调试阶段。然后就是交付用户使用,及维护。

以上几点是软件工程的生命周期的六个阶段。软件工程过程和软件工程生命周期也不能等同。

软件工程过程如下:

软件规格说明:规定软件的功能及其运行的限制

软件开发:产生满足规格说明的软件:

软件的确认:确认软件能够完成客户提出的要求:

软件演进:为满足客户的变更要求。软件必须在使用的过程中演进。

pdca

软件工程过程与软件生存期相对应。软件规格说明对应计划阶段,软件开发对应设计、编程阶段,软件的确认对应测试调试阶段,软件演进对应运行维护阶段。

软件开发的每个过程都有相关文档,用老师们的话说叫做以文档为驱动。文档的好坏直接影响到软件开发的进度和软件的质量。而文档中最多的是使用图表,dfd图,sc图。数据流程图、过程流程图、系统流程图等各种图表。还是那句话,一张好的图表胜过一千句话。

在软件生存周期的各个部分都有各自要注意的地方,过着说是各自的重点(或者是知识点)。

GZ85.cOm更多总结延伸阅读

软件工程实习总结


一.实习题目

c/s模式下的网络游戏平台(类似于联众)

二.题目要求

a. 平台上至少能够提供两种游戏(仅供两人参加)供用户选择。
b. 服务器端实现用户账号、密码的管理,监控用户上下线状态管理。
c. 服务器端实现用户游戏数据及文本通信数据的中转交换。
d. 客户端能够连接到服务器并选择游戏种类和游戏桌面,并参与游戏。
e. 客户端能够通过服务器进行文本通信。

三.小组成员及分工

组长:黄? 飞
成员:黄? 飞? 王润琛? 陈? 磊 韩振军 王向富

四.人员安排及进度

a. 人员安排:

黄? 飞:系统设计,文档管理:2周,系统的集成与总结:1周
陈? 磊:编写项目计划文档:0。5周,需求,概要文档的编写:2周
王润琛:系统设计:1周,程序主要模块的实现:2周
韩振军:需求的收集与文档:1周,软件测试与分析:1周
王向富:编写软件测试计划:1周,软件测试:1周。

b. 进度:

第一阶段 项目启动(05-8-22----------05-8-23):? 实习分析;项目简单分工。
第二阶段 需求分析(05-8-24----------05-8-26):? 确定软件性能;功能;编写文档。
第三阶段 概要设计(05-8-29----------05-9-01):? 确定总体架构,程序模块。
第四阶段 详细设计(05-9-02----------05-9-07):? 设计客户端,服务器端细节。
第五阶段 软件实现(05-9-08----------05-9-16):? 编写源代码。
第六阶段 软件测试(05-9-19----------05-9-21):? 完成测试及文档。
第七阶段 项目总结(05-9-22----------05-10-07):? 总结提高,答辩。

五.系统架构

?整体架构图:

六.实现的功能与未实现的功能

a. 实现的功能:

客户端:

1)用户登陆:用户运行客户端软件后,弹出登陆框,用户通过输入帐号和密码登陆平台,高级实现程度有记住密码选项。
2)用户注册:登陆框有注册选项,供用户注册新平台帐号。用户需要输入新的帐号名,密码,以及一些基本资料:姓名,性别,出生日期,邮箱。
3)用户修改资料:用户可以在登陆后修改个人基本资料,除帐号外其他资料均可选择修改。
4)用户选择游戏:用户登陆后,平台界面即会显示所支持游戏,用户可选择要进行的游戏。平台与游戏捆绑安装,在高级实现程度下服务器新增加游戏通过新的安装文件提供给用户。

服务器端:

1)批准新用户注册:基本实现程度为由服务器自动批准,既用户名不与现有用户冲突并且用户名和密码长度符合规范(用户名长度不超过十个单词或字母,密码不低于6位)及予以批准。高级实现程度为服务器与管理员双重批准,既服务器批准后只具有参观游戏和聊天等功能但不能参加游戏,需等管理员批准后赋予正式的用户权利。

2)删除用户:服务器管理员可以从数据库删除任意已注册用户(所有用户资料项同时删除)。为防止误操作等情况发生,高级实现程度中删除用户操作只是暂时禁止该用户登陆,数据库保留该用户资料一周(或数周,示服务器硬件资源)后再自动删除。
b. 待实现的功能:

1.用户登录的限制

用户在不同地点以相同的用户名登录。

注册时对新用户名的符号(如非法字符)检查

2.用户的异常掉线

在游戏过程中,玩家的中途异常掉线,服务器对玩家的在线信息的监听,并及时修改。

3.游戏的添加

此平台须在对游戏进行修改的情况下使游戏嵌入平台,尚缺少良好的对游戏的管理。

七.系统演示

a. 客户端;
b. 服务器端。
八.实习总结

这个项目所涉及的技术比较多,主要包括:网络通信,数据库通信与操作,用户的界面设计。我们采用vc++ 语言进行编程,主要调用mfc中的类函数,其中自己编写了一些类函数,具体的细节见详细设计文档。

作为一个游戏对战,它所能允许的最大的游戏玩家是衡量好坏的一个重要标准,对于每个用户以产生独立的线程对其进行调度,控制就成为该对战平台的一个重要问题。

解决方案:

建立两个线程池(csendthreadpool,crecvthreadpool),主要负责管理线程的生成,结束和任务分配等工作,线程池类相当于一个容器,在容器中运行很多个线程,应用程序只需要将工作交给线程池,线程池负责协调和分配内部工作。

九.经验总结与参考书目

经验总结:

1.本软件在初期的设计中不是十分的完善,致使在进行编码的阶段不断地修改,使得软件件项目的进度和程序的质量受到很大的影响。

2.协同开发组员间的配合很重要,尤其是各个部分如果不按照一定的标准,就使组员间的合作出现很大的问题。我们这次本来打算使用vc。net,但是由于有些组员不是很熟悉,后来改用mfc。

软件工程工作总结


工作总结之家工作总结频道为大家整理的软件工程工作总结,供大家阅读参考。更多阅读请查看本站工作总结频道。

今天视频看完了,可是没有总结。还是感觉不会总结。一想到50讲的课,怎么总结呢?开始听的时候,是真不知道从哪里下手,因为开始看的时候有种迷迷糊糊的感觉。软件工程,我期待的一门课就这么听完了一遍。很有些囫囵吞枣的感觉,不过收获还是很多的,至少知道了软件工程的阶段不是只有需求分析、编程和测试维护。当然这个很早之前就知道,只是以前根本没有什么概念。
第一个阶段,计划阶段,要首先对用户的要求进行了解,对软件的性能等进行了解。然后进行可行性分析研究,在各种可行性研究中,对于软件开发人员来说,技术可行性研究最重要。之后就是需求分析阶段了,需求分析阶段也是计划阶段的最后一部分。需求分析定义了要做什么。把现实的需要用程序语言表达出来。但是这一阶段并不解决怎么做。
解决怎么做的是下一个阶段——设计阶段。设计阶段分为概要设计和详细设计。概要设计把每个组成部分的功能都给出意义明确的模块,每个模块都和一部分需求相对应。但是不考虑细节。详细设计,把每个模块的功能实现详细的表示出来,为源程序的编写打下基础。然后就是编程阶段,我们一般最初接触的就是编程,所以编程阶段比较了解,由于前期文档已经做的很详细,功能的实现数据和算法都已经清楚了,所以编程是比较简单的。
编程完了就是测试阶段了,测试阶段的费用是最多的。测试阶段是发现错误的阶段,改错是调试阶段。然后就是交付用户使用,及维护。
以上几点是软件工程的生命周期的六个阶段。软件工程过程和软件工程生命周期也不能等同。
软件工程过程如下:
软件规格说明:规定软件的功能及其运行的限制

软件开发:产生满足规格说明的软件:

软件的确认:确认软件能够完成客户提出的要求:

软件演进:为满足客户的变更要求。软件必须在使用的过程中演进。

pdca

软件工程过程与软件生存期相对应。软件规格说明对应计划阶段,软件开发对应设计、编程阶段,软件的确认对应测试调试阶段,软件演进对应运行维护阶段。

软件开发的每个过程都有相关文档,用老师们的话说叫做以文档为驱动。文档的好坏直接影响到软件开发的进度和软件的质量。而文档中最多的是使用图表,dfd图,sc图。数据流程图、过程流程图、系统流程图等各种图表。还是那句话,一张好的图表胜过一千句话。

在软件生存周期的各个部分都有各自要注意的地方,过着说是各自的重点(或者是知识点)。

今天已经是22号了,文档还没写。先写文档了。唉,又落后了。

2015年软件工程总结


软件工程的定义:软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护过程,即将工程化应用于软件中的方法的研究。

软件工程的定义2:开发运行,维护和修复软件的工程方法。

软检策略思想:软件复用,分而治之,优化折中。

软件的生命周期:软件生命周期是指一个计算机软件从功能确定,设计,到开发成功投入使用,并在使用中不断地修改,增补和完善,直到停止该软件使用的全过程。

它包括制定计划(可行性与计划研究),需求分析,设计,程序编码(实现),测试及运行维护6个阶段。

软件开发模型:瀑布模型,快速原始模型,增量模型,螺旋模型,喷泉模型,组件复用模型。

软件开发过程:(1)定义;(2)开发;(3)验证;(4)维护。

软件开发的基本方法:传统的结构化方法,面向对象的方法。

可行性研究的主要任务:
可行性研究的主要任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决,是否能够解决。

可行性研究主要包括以下几个方面:1,技术可行性(风险分析,资源分析和技术分析);2,经济可行性(成本-效益分析);3,社会可行性(社会可行性是指开发后的系统能否得到社会的认可)

系统模型:物理(框图),逻辑(流程图);

系统流程图在可行性分析阶段使用。

成本—效益分析:
成本—效益分析的目的是从经济角度来评价开发一个新的软件项目是否可行。

系统的成本包括系统的开发陈本与运营成本。

系统成本包括:(1)硬件成本;(2)系统软件成本;(3)软件开发成本;(4)施工成本;(5)用户培训费用;(6)不可预见费用。

系统的运营成本是指发生在软件生命周期内维持系统运行的费用,以每年的花费量计算。
它包括:(1)人员费用;(2)网路使用费用;(3)维修费用;(4)消耗品费用。

需求分析的任务是理解和表达用户的需求,描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的借口细节,定义软件的其他有效性需求。

数据流图在需求分析阶段

er模型包含“实体”,“联系”和“属性”三个阶段。
在er图中用矩形方框代表实体
在er图中用菱形方框代表联系。
在er图中用椭圆或圆角矩形表示属性。

层次框图是用树形结构的一系列多层次的矩形框描述数据的层次结构。

软件设计的原则:模块化,抽象化,信息隐蔽,模块独立。

模块化是指解决一个复杂问退时自顶向下逐层把软件系统划分为若干模型的过程。

抽象化是指认识复杂现象过程中使用的思维工具,即抽出事物本质的,共同的特性而暂不考虑它的细节,不考虑其它因素。

抽象化和逐步求精,模块化的概念是一致的。

模块独立性的概念是模块化,抽象化和信息隐蔽的直接产物。

模块独立性可用两个定性标准来度量:内聚性和耦合性

内聚性:又称块内联系,是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

耦合性:又称块间联系,是指软件系统结构中各模块间相互联系紧密程度的一种度量。

偶然内聚:这种模块内各部分之间没有有意义的关系或者关系很松散。

逻辑内聚:这种模块把几种相关的功能组合在一起,每次被调用时,根据传送给模块的控制型参数来确定应执行的功能。

时间内聚:这种模块大多为多功能模块,但要求模块的各个功能必须在同一时间段执行。

工程内聚:使用流程图作为工具设计程序的时候,通过流程图来确定模块划分,把流程图中的某一部分划出组成模块,就是过程内聚模块。

通信内聚:一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据。

顺序内聚:一个模块中各个部分都是完成一项具体的功能而协同工作,紧密联系,不可分割的。

内容耦合:如果一个模块直接访问另一个模块内的内部数据,或一个模块不能通过正常入口转到另一个模块内部,或两个模块有一部分程序代码重叠(在汇编语言程序中可能出现),或者一个模块有多个入口,则两个模块之间就发生了内容耦合。它是最高程度的耦合,应该避免。

公共耦合:如果一组模块都访问同一个公共数据环境,则它们之间的耦合称为公共耦合。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

控制耦合:如果一个模块把控制信息传递给另一个模块,对其功能进行控制,这种耦合称为控制耦合。

标记耦合:如果一组模块通过参数表传递记录信息,这组模块就是标记耦合。事实上这组模块共享了某一数据结构的子结构,而不是简单变量。

数据耦合:如果一个模块访问另一个模块彼此之间通过数据参数(不是控制参数,公共数据结构或外部变量)来交换输入,输出信息,这种耦合称为数据耦合。

非直接耦合:如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。

数据流图的类型:变换型,事务型,混合型。

sd方法以数据流图为基础设计系统的模块结构。

事务型中间是有事务中心的!由它来进行处理的!

程序设计语言的分类:
机器语言——第一代语言
汇编语言——第二代语言
高级语言——第三代语言
4gl——第四代语言

变换型数据流图是线形结构的,由输入,变换(或称主加工)和输出三部分组成。

程序的效率:程序执行速度的快慢和程序占用存储空间的大小。
效率要求实际上就是性能要求对效率追求应取决于再需求分析阶段确定的效率方面的要求;

程序的效率包括以下三个方面:程序运行时间;存储器效率;输入/输出的效率。

公式计算:v(g)=m-n+p
v(g)有向图g的环数;
m有向图g的有向弧数;
n有向图g的节点数;
p=1;

软件测试的目标:为了发现错误而执行程序的过程。

软件测试的常用方法:
黑盒法:已知该程序应具备的功能而通过检测来检验的它的每一项功能是否能正常使用此方法为黑盒测试。
白盒法:已知程序的内部结构和工作过程,通过检测可检验产品内部动作是否符合规格说明书的规定,为白盒测试。

用白盒法设计测试用例最常用的是逻辑覆盖法:包括语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。

软件测试分为4个步骤进行:单元测试,集成测试,确认测试,系统测试。

软件可维护性的因素:可理解性,可测试性,可修改性。

"软件测试的工作总结"延伸阅读