大作业汇报1.0-许观达、郭力源 (完整版)

郭力源 2022-12-22 20:08:03

软件工程课程总结

1 项目计划

1.1 知识点梳理

      软件开发的整个过程:①项目团队。②项目计划。③项目成本估算。④软件风险管理。⑤软件文档管理。⑥软件配置管理与软件质量管理。

      软件的生存周期的八个阶段:①问题定义;②可行性研究;③需求分析;④总体(概要)设计;⑤详细设计;⑥编码与单元测试;⑦综合测试;⑧软件维护。

       软件开发模式:瀑布模式、原型进化模式、增量模式。

       使用的工具:码云。

1.2 应用情况

       在本次项目开发中,为了使软件开发各项工作有秩序地进行,建立了包括任务分配和基于里程碑的项目计划,主要使用了码云平台进行代码托管、项目管理和协作开发。首先,我们有两名小组成员,在码云平台上建立了3个里程牌和6个Issue计划,给每个成员分配了各自的任务,制定了计划完成的时间节点。开发模式采用了传统的软件开发模式瀑布模式,该模式特点是:线性化过程;分为分析、设计、编码、集成等几个阶段,并且各阶段逐级推进,不允许跨越。里程碑管理;阶段评审;文档驱动;简洁便于工程应用的线性化过程步骤,并可以通过里程碑管理机制而使项目进程量化。

        在实际的开发过程中,基本上按照设计的开发模式,根据计划的Issues逐个完成,但是实际进度慢于设计的里程碑时间节点。

 

1.3 分析评价

       项目计划阶段,主要通过码云制定里程碑事件和Issue事件,使得整个项目进度的时间节点一目了然,团队各成员的任务分工也十分明确,在项目开发过程中可以起到很好的作用。但在实际项目开发过程中,由于进度滞后,目前未能按照计划的节点完成相应的设定任务。

2 需求

2.1 知识点梳理

       需求分析:所需要考虑的需求问题是功能需求、数据需求、性能需求和接口需求。开发者承担分析任务,核心是用户。其步骤有三个:①获取客户需求。②建立需求模型,它是用户需求的图解,一些常用的模型有:业务树图、用例图、活动图。分别用于结构化需求建模、系统业务举例和反映系统工作流程。③进行需求验证,要验证的主要内容有:有效性验证、一致性验证、完整性验证、现实性验证和可检验性验证。

       结构化分析建模:建立在需求规约基础上的,对软件问题进行全面解说,包括四个方面:①数据建模,它与数据库设计密切相关,ER图涉及实体、关系、属性等图形元素,在业务层面建立数据库概念模型,一般用于前期的建模构想。②功能建模,是对系统数据加工的图解,数据流程图是常用的建模工具,涉及数据接口、数据处理、数据流、数据存储等图形元素,用于描述系统数据加工细节。③行为建模,行为模型用于说明软件系统与环境的交互,状态转换图常用的软件行为建模工具涉及状态、事件等图形元素。⑤数据字典,是用于定义软件的元素,使软件元素获得严肃的、详密的、精确的规格说明。需求分析模型中的数据、功能、行为等诸多方面的元素,都有必要通过数据字典给予细节说明,以达到对系统较完整全面的规格定义。

2.2 应用情况

       ①获取客户需求的方法:客户泛指某个人或机构部门等,一般方法是调查,包括访谈、座谈、问卷、跟班和收集资料,需求规约可表达用户的软件价值。这次大作业做的是一个自动填表工具软件,需求来源于我们的日常生活中,需要不断地填写各种各样的表格,其中有些信息需要往复地填写,为使填表更加便捷,建立一个个人信息库,再通过软件自动识别表格需填入项,链接电子文档表格与数据库,实现电子表格文档的自动填写。通过课堂讨论论证,认为制作这样一个自动填表的工具软件是有需求的。

       ②结构化分析建模:

 

2.3 分析评价

       需求分析环节主要是通过多次的讨论,在与老师和组员的交流中以及其他组给的意见中完善的。通过讨论交流,论证了自动填表工具的技术可行性和开发必要性,并确定了这次项目预期需要完成的功能和计划达到的目标。

       评价:基本完成预计的需求分析效果。

3 设计

3.1 知识点梳理

       本阶段需完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。由概要设计说产生大的概要说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。

       在本阶段主要涉及处理流程的设计、总体结构和模块外部设计、功能分配。在接口设计上有用户接口、外部接口、内部接口;数据结构设计有逻辑结构设计、物理结构设计等等。

       使用的工具:VS 2019、SQL数据库。

3.2 应用情况

1.结构设计:

       自动填表工具项目的总体结构设计如下图所示。功能主要分为三块:登陆模块、信息管理模块和自动填表模块。登陆模块链接单独的SQL数据库,信息管理和自动填表模块共同对个人信息的SQL数据库进行操作。其中信息管理模块主要实现四个功能:增加、删除、修改、查询。自动填表模块主要可分为三个实现步骤:导入电子文档、识别文档表格需填入信息、查询SQL数据库内容并自动填入相应信息。

 

 2.原型界面设计:主要利用VS 2019进行设计。如下图所示。

 

3.3 分析评价

       本阶段利用VS 2019工具实现了软件登录界面、信息管理界面、信息添加界面以及自动填表界面的设计。

       评价:界面设计过程一共经过三次改版形成了最终的结果,界面基本上能够满足用户的使用习惯以及软件功能的要求。

4 实现

4.1 知识点梳理

      Microsoft Visual Studio:(简称VS)是美国微软公司的开发工具包系列产品,功能完备的 IDE,可用于编码、调试、测试和部署到任何平台。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具。SQL (Structured Query Language:结构化查询语言)是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。

      使用的工具:VS 2019、SQL数据库。

4.2 应用情况

      在本课程学习中,在Visual Studio 2019开发环境下编写代码,尝试了C语言和C#语言的代码撰写和编译,使用了该软件的单元测试功能和代码规范工具,均有助于项目开发。

 

         在进行“自动填表工具”项目开发中,利用了SQL Server数据库功能,将软件与该数据库相连接,以实现用户登陆、信息的增加、删除、修改、查询以及导入文件的自动填写等功能。

 

4.3 分析评价

      本阶段通过C语言的编译完成了登录窗口的登录功能、信息添加界面的项目内容增、删、改、查四大功能以及自动填表界面的excel文件导入功能和导入文件的自动填写功能。

       评价:项目的功能均已实现,并且可以通过修改自动填充好的内容间接实现数据库信息的变动。

5 部署交付

5.1 知识点梳理

       本阶段的知识点分为项目的部署交付与项目的维护两个方面。其中,项目部署交付包含项目实施、客户培训和项目验收三部分。

       项目实施:将软件系统部署到客户方的计算机系统上,协助客户准备基础数据,使软件系统顺利上线运行。

       客户培训:在系统部署完成、基础数据准备齐全之后,应组织客户培训,使其掌握对软件系统的使用和操作。

       项目验收:客户对系统进行验收测试,包括范围核实和质量核实。

       软件部署的模式:面向单机软件的部署模式、集中式服务器应用部署、集群式服务器应用部署。

5.2 应用情况

       本软件项目采用的是面向单机软件的部署模式,即单机操作软件。本软件将录制操作视频供客户使用,其中,视频包含软件增、删、改、查等全部功能实现的演示。针对软件后期的维护将采用以下流程的形式进行。

 

5.3 分析评价

      本阶段通过面向单机软件模式为客户进行软件部署,并通过录制相关的软件操作视频为客户提供培训,最后使用如图10的流程模式交代了软件后期维护的流程。

      评价:该软件是单机操作软件,在部署阶段相比服务器应用类部署较为简单,视频中有较为详细的软件功能实现操作,对用户的使用提供了方便。

6 心得体会

      通过学习《软件工程》这门课程,可以拓宽知识面,学习到许多知识。对于我们的学习方面来说,其中很重要的一点就是让我们了解到了项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。其中有许多一般性的方法,例如:需求获取、模块化、计划等等。同时,我们也深刻地认识到了使用计算机解决实际问题的复杂性,人们认识表达的过程不断反复、逐步深化,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。

      对于我们个人能力的提升方面来说,这门课既启发了我们的思维又增强了我们的动手实践能力,这对我们个人素质的提升是巨大的,不管以后从事什么工作,都是一笔很大的隐性财富。同时十分感谢何志勇老师的悉心指导与耐心督促,让我们有足够的信心在规定的时间内完成软件的开发,这里对何老师表示衷心地感谢!

 

 

...全文
400 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

57

社区成员

发帖
与我相关
我的任务
社区描述
NUE软件工程教学社区
软件工程 高校
社区管理员
  • moonmontest
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧