大作业汇报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 心得体会

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

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

 

 

...全文
984 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
该数据集名为“6200印章数据集-圆椭方矩-红蓝灰”,包含6200多张印章图像,涵盖圆形、椭圆形、方形和矩形四种几何形状,并包含红色、蓝色和灰色三种颜色。其目标是服务于印章识别、印章文本识别以及印章OCR技术的研究与开发。由于形状和颜色种类丰富,该数据集有助于开发者训练出适应性更强的识别系统,以应对不同应用场景。 这些印章图像均为真实印章的高清照片,能够为印章识别算法提供充足的视觉信息。不过,该数据集不包含预标注的地面真实(GT)标签,因此开发者在使用时可能需要进行一定的数据清洗和标注,才能满足模型训练要求。尽管增加了额外工作量,但其规模和多样性仍使其成为重要的研究资源。 印章识别技术广泛应用于文档审核、版权验证、金融交易验证等领域。随着机器学习和深度学习不断发展,印章识别算法已从简单的模板匹配逐渐转向更复杂的图像处理和模式识别方法。这一进步需要大量高质量训练数据,而此类数据集正是满足这一需求的关键工具之一。 考虑到印章识别在实际应用中会遇到磨损、变形以及复杂背景等问题,该数据集在设计时也兼顾了这些现实挑战。通过提供不同形状和颜色的印章图像,它有助于研究者开发出能够应对真实世界复杂情况的算法。同时,由于缺乏GT标签,研究者在训练模型前还需解决如何高效、准确地进行图像标注的问题,这既提高了研究难度,也带来了更贴近实际应用的挑战与机会。 “6200印章数据集-圆椭方矩-红蓝灰”是一个面向印章识别技术的综合性训练数据集。它的推出对推动印章识别技术发展具有重要意义。通过有效利用该数据集,开发者可以构建更强大、更准确的印章识别系统,进一步促进相关技术的落地应用。
源码下载地址: https://pan.quark.cn/s/ae487cba003d 在计算机视觉与图像处理技术领域中,OpenCV作为一个被广泛采纳的开源框架,提供了大量的函数和工具,用于对图像进行操作和分析。本篇文章将深入阐释OpenCV在处理含有RGBA通道的图像时的应用,以及如何进行通道的分离与融合。 让我们首先掌握RGBA图像的基本构成。RGB分别象征红色(Red)、绿色(Green)以及蓝色(Blue),这三种颜色的不同强度组合能够产生多样的色彩效果。而A则代表Alpha通道,它用来指示图像的透明程度或完全不透明性。在0至255的数值区间内,0值代表完全透明,255值则表示完全不透明。当处理PNG等支持透明特性的图像格式时,RGBA模型被频繁使用。 在OpenCV软件中,我们可以借助`cv::Mat`结构体来储存和操作图像数据。对于RGBA图像,`cv::Mat`结构体的数据类型通常是`CV_8UC4`,这表明每个像素点由4个8位无符号整数(Uint8)构成,分别对应R、G、B和A四个通道。 接下来,我们将讨论如何从RGBA图像中分离各个通道。在OpenCV中,`cv::split()`函数能够实现这一功能。该函数会构建一个新的`cv::Mat`数组,数组中的每个元素都是原图像的一个独立通道。例如: ```cpp cv::Mat rgbaImage; // 加载RGBA图像 cv::imread("image.png", cv::IMREAD_UNCHANGED); // 分离通道 std::vector channels; cv::split(rgbaImage, channels); cv::Mat redChannel = ...
代码转载自:https://pan.quark.cn/s/a4b39357ea24 在信息技术领域,"后处理"一般是指在计算机辅助设计(CAD)或计算机辅助制造(CAM)系统中,将设计图纸转化为机器设备操作指令的过程。在此情形下,"佳铁雕刻机后处理.rar"是一个压缩文件,其中存放了与佳铁雕刻机相关的后处理工具或配置数据。佳铁雕刻机是一种常见的数字控制机床,主要用于精细的雕刻和加工作业,比如电脑锣、精雕机或雕铣机等设备。 雕刻机后处理包含的核心知识要点有: 1. **数字控制(NC)代码的编制**:当在CAD/CAM软件中完成工件设计后,需要将其转换为机床能够识别的数字控制指令。这一步骤即为后处理,它将三维设计转化为一系列的G代码和M代码,这些指令指导雕刻机的刀具如何移动。 2. **后处理器的个性化设置**:由于不同的雕刻机可能配备不同的控制系统和机械属性,因此需要专门设计的后处理器来适配这些特性。针对佳铁雕刻机的后处理器可能包含特定的参数调整,例如进给速率、切削深度、刀具路径优化等,以实现最佳的加工效果和效率。 3. **G代码与M代码的应用**:G代码是控制刀具运动的指令,例如G00表示快速移动,G01表示线性插补,G02和G03分别代表顺时针和逆时针的圆弧插补;M代码则是辅助操作指令,如M03代表主轴正转,M05代表主轴停转。这些指令的组合构成了完整的加工程序。 4. **机床参数设定**:后处理流程会考虑到机床的具体参数,包括电机类型、丝杠螺距、工作台尺寸等,以确保生成的NC代码与实际设备相符。 5. **刀具路径的优化**:高效的后处理能够改进刀具的运动轨迹,减少无效运行时间,提升生产效率,同时避免刀具与工件的碰撞以及工件形变,确保加工的精确度。...

57

社区成员

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

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