首页 >> 大全

软件工程实务学习总结

2023-09-30 大全 28 作者:考证青年

目录

软件工程实务导论:

一、需求分析(800字):

1.1系统需求

1.2功能需求:

1.3非功能需求:

二、设计(900字)

设计阶段:

结构化设计和结构化分析的关系:

总体设计过程:

必要性:

设计过程

1、系统设计阶段,确定系统的具体实现方案

2、结构设计阶段,确定软件结构

典型的总体设计过程包括下述9个步骤:

1. 设想供选择的方案

2. 选取合理的方案

3. 推荐最佳方案

4. 功能分解

5. 设计软件结构

6. 设计数据库

7. 制定测试计划

8. 书写文档

9. 审查和复审

三、编码(800字)

编码风格

一、程序的内部文档

二、数据说明

三、语句构造

四、输入输出

五、效率

具体编码

对数据库的编码

对前端的编码

对后端接口的编写

四、测试(900字)

五、维护(500字)

六、总结

软件工程实务导论:

在当今数字化的世界中,软件已经成为了各行各业的核心。从智能手机应用到企业级软件系统,软件的重要性和需求不断增长。然而,开发高质量和可靠的软件并不是一件容易的事情。这就是软件工程的重要性所在。软件工程是一门关注如何构建可靠和高质量的软件的学科。它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。通过遵循软件工程的原则和最佳实践,开发团队可以构建出满足用户需求的软件系统,并提供持续的支持和改进。

一、需求分析(800字):

需求分析是软件工程的第一步,也是最重要的一步。它涉及与客户和利益相关者沟通,了解他们的需求和期望。通过正确理解需求,开发团队可以更好地规划和设计软件系统,以满足用户的需求。在需求分析阶段,开发团队需要收集和整理需求,明确功能和非功能需求,并与客户进行确认和验证。同时,需求分析还需要考虑到软件系统的可扩展性、可维护性和性能等方面,以确保软件系统的长期可用性和可持续发展。

1.1系统需求

是这个系统必须执行/支持的所有活动和必须满足的约束条件。通常分为功能需求和非功能需求。

1.2功能需求:

系统必须执行的活动。以工资管理系统为例,可能包括电子支付、计算工资、计算工资税、维护员工相关信息、社保、医保、公积金缴纳等等。

功能需求是根据公司开展业务交易的过程和业务规则确定的。有时这些规则详细记录与文档,从而易于确定和描述;而另外的一些规则可能隐蔽而难以被发现。而尽早发现这类规则是需求分析的重要任务。

1.3非功能需求:

是系统的固有特征,它不同于系统必须执行或支持的活动。区别功能/非功能需求并不容易,人们开发了一些架构来识别和分类需求的方法,如FURPS+架构(功能、可用性、可靠性、性能、可支持性的首字母),

二、设计(900字)

设计阶段是软件工程中的关键步骤之一。在设计阶段,开发团队需要确定软件系统的整体结构和组件之间的关系。设计决策需要考虑到系统的可扩展性、可维护性和性能等方面。一个好的设计可以提高软件系统的可靠性和可维护性,并降低后续开发和维护的成本。在设计阶段,开发团队可以使用各种建模工具和技术,如UML(统一建模语言)和设计模式,来帮助他们进行系统设计和架构。

软件工程实务学习总结__软件工程实务学习总结

软件设计宣言-Mitch Kapor:“什么是设计?设计是你站在两个世界——技术世界和人类的目标世界——而你尝试将这两个世界结合在一起……”。

罗马建筑批评家提出的观念:“设计良好的建筑应该展示出坚固、适用和令人赏心悦目”。

设计阶段:

■从工程管理的角度,可以将软件设计分为概要设计阶段和详细设计阶段。

■从技术的角度,传统的结构化方法将软件设计划分为体系结构设计、数据设计、接口设计和过程设计4部分。

■面向对象方法则将软件设计划分为体系结构设计、类设计/数据设计、接口设计和构件级设计4部分。

结构化设计和结构化分析的关系:

总体设计过程:

首先寻找实现目标系统的各种不同的方案;然后分析员从这些供选择的方案中选取若干个合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐;分析员应该进一步为这个最佳方案设计软件结构,进行必要的数据库设计,确定测试要求并且制定测试计划。

必要性:

总体设计可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。

设计过程

由两个主要阶段组成:

1、系统设计阶段,确定系统的具体实现方案

■设想供选择的方案

■选取合理的方案

■推荐最佳方案

2、结构设计阶段,确定软件结构

■功能分解

■设计软件结构

■设计数据库

■制定测试计划

■书写文档

■审查和复审

典型的总体设计过程包括下述9个步骤: 1. 设想供选择的方案

根据需求分析阶段得出的数据流图考虑各种可能的实现方案,力求从中选出最佳方案。

2. 选取合理的方案

从前一步得到的一系列供选择的方案中选取若干个合理的方案。对每个合理的方案分析员都应该准备下列4份资料:

■系统流程图;

■组成系统的物理元素清单;

■成本/效益分析;

■实现这个系统的进度计划。

3. 推荐最佳方案

分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。

4. 功能分解

■首先进行结构设计,然后进行过程设计。

■结构设计确定程序由哪些模块组成,以及这些模块之间的关系;过程设计确定每个模块的处理过程。

■结构设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。

5. 设计软件结构

■通常程序中的一个模块完成一个适当的子功能。应该把模块组织成良好的层次系统。软件结构可以用层次图或结构图来描绘。

■如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构,这就是面向数据流的设计方法。

6. 设计数据库

对于需要使用数据库的那些应用系统,软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。

7. 制定测试计划

在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。

8. 书写文档

应该用正式的文档记录总体设计的结果,在这个阶段应该完成的文档通常有下述几种:

(1) 系统说明

(2) 用户手册

_软件工程实务学习总结_软件工程实务学习总结

(3) 测试计划

(4) 详细的实现计划

(5) 数据库设计结果

9. 审查和复审

最后应该对总体设计的结果进行严格的技术审查和管理复审。

三、编码(800字)

编码是将设计转化为实际代码的过程。在编码过程中,开发人员需要遵循一定的编码规范和最佳实践,以确保代码的质量和可读性。同时,编码过程中也需要进行代码审查和测试,以发现和修复潜在的问题。在编码阶段,开发团队可以使用各种编程语言和开发工具,如Java、和等,来实现软件系统的功能和需求。

编码风格 一、程序的内部文档

1、恰当的标识符

2、适当的注解

3、程序的视觉组织

二、数据说明

1、数据说明的次序应该标准化。

2、当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。

3、如果设计时使用了一个复杂的数据结构,则应该用注解说明用程序设计语言实现这个数据结构的方法和特点。

三、语句构造

1、不要为了节省空间而把多个语句写在同一行;

2、尽量避免复杂的条件测试;

3、尽量减少对“非”条件的测试;

4、避免大量使用循环嵌套和条件嵌套;

5、利用括号使逻辑表达式或算术表达式的运算次序清晰直观。

四、输入输出

1、对所有输入数据都进行检验;

2、检查输入项重要组合的合法性;

3、保持输入格式简单;

4、使用数据结束标记,不要要求用户指定数据的数目;

5、明确提示交互式输入的请求,详细说明可用的选择或边界数值;

6、当程序设计语言对格式有严格要求时,应保持输入格式一致;

7、设计良好的输出报表;

8、给所有输出数据加标志。

五、效率

1、效率主要指处理机时间和存储器容量两个方面。

2、效率是性能要求,因此应该在需求分析阶段确定效率方面的要求。

3、效率是靠好设计来提高的。

4、程序的效率和程序的简单程度是一致的,不要牺牲程序的清晰性和可读性来不必要地提高效率。

具体编码 对数据库的编码

新闻类


CREATE TABLE `news` (`id` int(32) NOT NULL AUTO_INCREMENT,`userid` int(32) NOT NULL,`author` varchar(32) NOT NULL,`coverimage` varchar(96) NOT NULL,`title` varchar(30) NOT NULL,`content` mediumtext NOT NULL,`times` datetime NOT NULL,`browses` int(32) NOT NULL DEFAULT '0',`likes` int(32) NOT NULL DEFAULT '0',`label` int(20) NOT NULL DEFAULT '0',`pass` int(1) NOT NULL DEFAULT '0',PRIMARY KEY (`id`),KEY `userid` (`userid`),KEY `label` (`label`),CONSTRAINT `news_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `user` (`id`),CONSTRAINT `news_ibfk_2` FOREIGN KEY (`label`) REFERENCES `label` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8

用户类


CREATE TABLE `user` (`id` int(32) NOT NULL AUTO_INCREMENT,`uid` int(32) NOT NULL DEFAULT '1',`userName` varchar(20) NOT NULL,`passWord` varchar(20) NOT NULL,`img` varchar(96) DEFAULT NULL,`realName` varchar(96) DEFAULT 'NULL',`xx` varchar(96) DEFAULT 'NULL',PRIMARY KEY (`id`),UNIQUE KEY `userName` (`userName`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8

对前端的编码


News System

News System

Latest News

Featured Article

Article Title Goes Here

Article content goes here.

© 2021 News System

对后端接口的编写

@RestController
@RequestMapping("/New")
public class NewController {@Autowiredprivate NewService newService;//获取所有审核通过的新闻@RequestMapping(value = "/getNewAll")//http://localhost:8888/New/getNewAll@ResponseBodypublic List getNewAll(){List newList=new ArrayList();List list=newService.getNewAll();for(int i=0;i get(int label){if(label==0){System.out.println(newService.getRe().toString());return newService.getRe();}else {//System.out.println(label);return newService.get(label);}}

四、测试(900字)

测试是软件工程中至关重要的一环。通过测试,开发团队可以验证软件系统的功能和性能是否符合预期。测试可以分为单元测试、集成测试和系统测试等不同层次,以确保软件系统的质量和稳定性。在测试阶段,开发团队需要制定详细的测试计划和测试用例,并使用各种测试工具和技术,如Junit和等,来执行测试和分析测试结果。通过测试,开发团队可以发现和修复潜在的问题,提高软件系统的质量和可靠性。

使用大量的边界数据对软件进行测试

五、维护(500字)

维护阶段是软件工程的最后一步,也是一个持续的过程。随着时间的推移,软件系统可能需要进行功能扩展、性能优化和错误修复等。维护阶段需要开发团队与用户和利益相关者保持良好的沟通,以确保软件系统的持续运行和改进。在维护阶段,开发团队需要进行版本控制和配置管理,以确保软件系统的稳定性和可维护性。同时,开发团队还需要进行用户支持和培训,以帮助用户更好地使用和理解软件系统。

六、总结

软件工程是一门关注构建可靠和高质量软件的学科。通过遵循软件工程的原则和最佳实践,开发团队可以构建出满足用户需求的软件系统,并提供持续的支持和改进。在软件工程的各个阶段,包括需求分析、设计、编码、测试和维护等,开发团队需要合理规划和管理资源,以确保项目的顺利进行和成功交付。希望本文对读者对软件工程有更深入的了解,并在实践中能够应用软件工程的原则和方法。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了