随着漫长夏日的到来,不知不觉间,为期四个月的软件工程课程已渐入尾声。第一次接触这门课时,听介绍得知这是一门综合性比较强的学科,需要涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。对我们现在的水平来说还是能力有限,相对来说还是比较困难的。在前几节课时,我们按照要求分好了组,并确定程序的大致方向,我们想要做一个面向学校的交友小程序。这是一个庞大的工程,初步学习软件工程的基本概念,如软件工程概述、软件过程模型、敏捷软件开发。最开始的PPT介绍和需求分析说明书准备时我们一边翻书一边看PPT,一次又一次确认几个概念性问题,很多次我们讨论地激烈却不知已悄然步入深夜。大家分工明确,遇到不会的或难以解决的问题时会上网查阅资料自学。在第一次汇报时老师针对我们小组出现的问题提出了意见,我们更有方向性的进行修改。课程学习中,第5~8章是结构化开发方法学,结构化分析、设计与测试,包括结构化需求分析,概要设计,详细设计,编码以及测试方法;第10~12章是面向对象开发方法学,面向对象分析、设计与测试,包括面向对象需求分析,概要设计、详细设计、实现与测试方法。第13~14章是软件维护与项目管理,包括软件维护、软件配置管理、软件质量管理、软件进度管理。我们按照上课进度更新自己写的博客,完成课后思考题的同时可以重新学一遍章节内容,印象更为深刻,对知识的理解也更为透彻。在之后的实验过程中,我们也进行过多次小组例会, 对所要研发的小程序具体内容如流程图等有更为详细的改进。学习了这门课程,还有老师的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整个一学期下来,总的来说学到的东西还是很多的,这门课程是一个如何去分析和处理问题的过程,成为了一个综合的,一个能够解决问题的思想集合。

软件开发的整个过程:①需要项目团队,组建优秀的团队可以开发出更搞质量的软件产品。任务开发团队要求小而精,成员大多在8人以内,主要成员有项目负责人、开发人员、资料管理员和软件测试员。②项目计划是为了使软件开发各项工作有秩序地进行,包括任务分配和基于里程碑的进度安排,甘特图和任务网络图是用来描述进度计划的工具。项目计划书可以作为软件开发的工作指南。③项目成本估算,由于项目有来自各方面的成本包括工资开支、场地费、差旅费、设备费和资料费等,但是软件主要是对人力成本的估算,常用的方法有程序代码成本估算法等。④软件风险管理包括很多不确定的风险因素,如计划风险、管理风险、需求风险、技术风险、人员风险、产品风险、用户风险和商业风险等等,而风险管理的主要.任务是:风险识别、风险评估、和风险防范。⑤软件文档管理,软件文档是工程模式软件开发的成果体现,包括技术文档、管理文档和用户文档。⑥软件配置管理与软件质量管理,包括配置规划、软件变更控制、软件版本控制和质量控制计划。计算机系统由硬件、软件、数据资源、网络资源、使用系统的人等诸多元素。有三种典型的计算机体系结构:①主机结构,主机集中了全部智能,并依靠终端接口与外部设备连接。②client/server结构,智能分布于服务器与客户机,并依靠网络连接成系统,其中,服务器处于核心位置,提供被动核心服务;客户机处于边缘位置,可主动访问服务器,寻求服务支持。③browser/server结构,可适应互联网远程交互的特殊结构,基于web服务器构建。

需求分析:系统开发前期需求分析很重要,它是为了有效解决用户问题的需要进行的一项工程活动,所需要考虑的需求问题是功能需求、数据需求、性能需求和接口需求,开发者承担分析任务,核心是用户。其步骤有三个:①获取客户需求,客户泛指某个人或机构部门等,一般方法是调查,包括访谈、座谈、问卷、跟班和收集资料,需求规约可表达用户的软件价值。②建立 需求模型,它是用户需求的图解,一- 些常用的模型有:业务树图、用例图、活动图。分别用于结构化需求建模、系统业务举例和反映系统工作流程。③进行需求验证,要验证的主要内容有: 有效性验证、一致性验证、 完整性验证、现实性验证和可检验性验证。结 构化分析建模:它是建立在需求规约基础上的,对软件问题进行全面解说,包括四个方面:①数据建模,它与数据库设计密切相关,er图涉及实体、关系、属性等图形元素,在业务层面建立数据库概念模型,一般用于前期的建模构想。②功能建模,是对系统数据加工的图解,数据流程图是常用的建模工具,涉及数据接口、数据处理、数据流、数据存储等图形元素,用于描述系统数据加工细节。③行为建模,行为模型用于说哦名软件系统与环境的交互,状态转换图常用的软件行为建模工具涉及状态、事件等图形元素。⑤数据字典,是用于定义软件的元素,使软件元素获得严肃的、详密的、精确的规格说明。需求分析模型中的数据、功能、行为等诸多方面的元素,都有必.要通过数据字典给予细节说明,以达到对系统较完整全面的规格定义。

总得来说,在这节课结束之后我们是真正有学到知识的,不是单纯的为了考试而机械的背题,在最后的实验课中,我们每个人分工明确,我刚开始负责代码编程一部分,在找到了敏感词汇过滤器以及距离位置计算代码后,交给了其他组员进行最后总结和调试,我又开始了界面设计以及logo设计,在面对全新的软件时,我是无从下手的,但是在几次碰壁和错误之后,慢慢开始熟练起来,之后的工作也变得得心应手了,按照Word里面的内容仔细删减修改,后来又进行PPT制作添加,在设计logo是也换了好几种想法,最后出来成果我非常有满足感,跟其他人一起合作共同完成一项任务是很开心的,沟通交流很多次并得到解决。这节课使我受益匪浅。

posted on 2021-06-23 21:51  We-like  阅读(45)  评论(0编辑  收藏  举报