软件工程期末总结

软件工程期末总结

    • 软件危机出现的原因
    • 软件生命周期
      • 软件生命周期的概念
      • 生命周期的各个阶段
    • 软件开发模型
      • 极限编程
    • 可行性研究与项目开发计划
    • 需求分析
    • 结构化分析的方法
    • 结构化分析的图形工具
    • 软件设计的原则
    • 用户界面设计
    • 结构化软件设计
    • 面向对象
    • 面向对象建模

软件危机出现的原因

  1. 忽视软件开发前期的需求分析。
  2. 开发过程中缺乏统一的、规范化的方法论的指导。
  3. 文档资料不齐全或不准确。
  4. 忽视用户之间、开发组员之间的交流。
  5. 忽视测试的重要性。
  6. 不重视维护或由于上述原因造成维护工作困难。
  7. 从事软件开发的专业人员对这个产业认识不充分,缺乏经验。
  8. 没有完善的质量保证体系。

软件生命周期

软件生命周期的概念

软件的生命周期是指从设计该产品的构想开始,到软件的需求认定、软件设计、软件实现、产品测试与验收、投入使用的以及产品版本不断更新,到最终该产品被市场淘汰的全过程。

生命周期的各个阶段

  1. 可行性研究
  2. 需求分析
  3. 软件设计
  4. 编码
  5. 软件测试
  6. 软件维护 定义(可行性研究、需求分析)、开发、维护

软件开发模型

  1. 瀑布模型(不确定有没有划这个重点) 优点:过程模型简单,执行容易 缺点:无法适应变更。
  2. 快速还原模型
  3. 增量模型
    优点:
    (1)、将待开发的软件系统模块化,分批次提交软件产品,使用户可以及时了解软件项目的进展。
    (2)、以组件为单位进行开发,降低软件开发的风险。
    (3)、开发顺序灵活
    缺点:
    要求待开发的软件系统可以被模块化。
  4. 螺旋模型 将瀑布与快速结合起来,忽略了风险分析

极限编程

测试现行,驱动开发

可行性研究与项目开发计划

  1. 技术可行性
  2. 操作可行性
  3. 经济可行性

需求分析

步骤:

  1. 需求获取
  2. 分析建模
  3. 需求描述
  4. 需求验证

结构化分析的方法

核心是数据字典
1、功能建模
思想是用抽象模型的概念,按照软件内部数据传递和变换的关系,自顶向下逐层分解,直到找到满足功能要求的可实现的软件为止。
数据流图(简称DFD图)就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
2、数据建模
3、行为建模
4、数据字典

在这里插入图片描述

结构化分析的图形工具

1、层次方框图
2、Warnier图(具体图形课本57,58页)

软件设计的原则

1、模块化(高内聚低耦合)
2、抽象
3、逐步求精
4、信息隐藏

用户界面设计

响应时间<3秒
可用性和域(没有百度,不确定是不是这个域)用性

结构化软件设计

解决“怎么做”的问题(需求分析:解决“做什么”)
概要设计阶段:要完成体系结构设计、数据设计及接口设计
详细设计阶段:要完成过程设计

面向对象

特点:封装、继承、多态
基本概念(重点看1,3)
1、面向对象:按人们认识客观世界的系统思维方式,采用基于对象的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
2、对象:即指现实世界中各种各样的实体。
3、类:类是具有相似内部状态和运动规律的实体的合计。
面向对象的软件工程方法的优势
1、符合人类的思维习惯
2、稳定性好
3、可复用性好
4、可维护性好

面向对象建模

通常要建立3种模型:
数据结构(对象模型)、执行操作(动态模型)、数据值变化(功能模型)
建立对象模型:
1、划分主题
2、确定类与对象(确定对象和对象之间的关联)
3、确定属性
4、确定服务

注:需要画图的没有总结,看课本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/287545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

P38[11-3]软件SPI读写W25Q64

接线演示及解释: CS片选,接PA4 DO从机输出,接PA6 CLK时钟,接PA5 DI从机输入,接PA7 主机:时钟(CLK,PA5),主机输出(DI,PA7),片选(CS,PA4)引脚均为推挽输出 主机输入(DO,PA6)为上拉输入 第一行显示ID号,分别是厂商ID和设备ID 第二行是写的数据内容 第二行是读的数据内…

2487. 从链表中移除节点

使用栈&#xff0c;依次出栈判断连接 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.…

python算法问题,求两个字符串的最长公共子序列长度

对于问题&#xff0c;两个字符串的最长公共子序列长度进行求解&#xff0c;首先要知道子序列的定义&#xff0c;如果说给定一个字符串&#xff0c;对这个字符串中的原有字符进行不改变字符相对位置的删除&#xff0c;这里的相对位置就是处于前还是后的相对关系&#xff0c;进行…

中文自然语言处理库(SnowNLP)的简单使用

snownlp 是一个简单易用的 Python 库&#xff0c;专为处理中文文本而设计。它基于自然语言处理技术&#xff0c;提供了多种功能&#xff0c;包括分词、词性标注、情感分析、文本转换&#xff08;简繁转换&#xff09;等。这个库的核心优势在于对中文文本的处理能力&#xff0c;…

软性演员-评论家算法 SAC

软性演员-评论家算法 SAC 软性演员-评论家算法 SAC优势原理软性选择模型结构目标函数重参数化熵正则化代码实现 软性演员-评论家算法 SAC 优势原理 DDPG 的问题在于&#xff0c;训练不稳定、收敛差、依赖超参数、不适应复杂环境。 软性演员-评论家算法 SAC&#xff0c;更稳定…

基于ssm的资产管理信息系统+vue论文

摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。以前企业对于资产信息的管理和控制&#xff0c;采用人工登记的方式保存相关数据&#xff0c;这种以人力为主的管理模式已然落后。本人结…

我用 Python 自动生成图文并茂的数据分析报告

reportlab是Python的一个标准库&#xff0c;可以画图、画表格、编辑文字&#xff0c;最后可以输出PDF格式。它的逻辑和编辑一个word文档或者PPT很像。有两种方法&#xff1a; 1&#xff09;建立一个空白文档&#xff0c;然后在上面写文字、画图等&#xff1b; 2&#xff09;建…

【设计模式-2】原型模式的原理、代码实现及类图展示

我们一定对类的实例化比较熟悉&#xff0c;前面我们说的单例、还有3种工厂模式都是通过new关键字来创建对象&#xff0c;下面我们来了解一种新的对象创建的方式。 1. 定义 原型模式也是一种创建型的设计模式&#xff0c;实现和原理总体比较简单&#xff0c;一句话总结呢&#…

帮企10合一万能分销商城源码系统:全开源可二开,全端覆盖+完整的代码包以及搭建教程

电商市场的竞争日益激烈&#xff0c;越来越多的企业开始意识到分销商城的重要性。然而&#xff0c;市面上的分销商城系统往往存在着功能单一、扩展性差等问题&#xff0c;无法满足企业的多样化需求。今天来给大家分享一款10合一万能分销商城源码系统。 以下是部分代码示例&…

MYSQL二主二从集群部署

目录 一、环境描述 二、安装mysql 2.1 卸载mysql(如果没安装过&#xff0c;可忽略) 2.1.1 列出安装的mysql 2.1.2 卸载mysql 2.1.3 删除mysql文件目录 2.1.3.1 查看mysql 目录 2.1.3.2 依次删除 2.2 在线安装 2.2.1 下载安装源 2.2.2 安装源rpm 2.2.3 加入rpm密钥 …

西安人民检察院 | OLED翻页查询一体机

产品&#xff1a;55寸OLED柔性屏 项目时间&#xff1a;2023年12月 项目地点&#xff1a;西安 在2023年12月&#xff0c;西安人民检察院引入了OLED翻页查询一体机&#xff0c;为来访者提供了一种全新的信息查询方式。 这款一体机采用55寸OLED柔性屏&#xff0c;具有高清晰度、…

虚幻UE 材质-进阶边界混合之WAT世界对齐纹理

边界混合前篇&#xff1a;虚幻UE 材质-边界混合之PDO像素深度偏移量 上一篇主要讲材质相似或者不同的两个物体之间的边界混合 这一篇主要讲自建材质且相同的两个物体之间的边界混合 文章目录 一、世界对齐纹理二、世界对齐纹理实验1、制作材质 三、进一步优化 一、世界对齐纹理…

25计算机专业考研经验贴之准备篇

Hello各位小伙伴&#xff0c;大家新年好&#xff01; 马上就要进入寒假假期了&#xff0c;25考研也该提上日程了。今天先跟大家分享一下大家在假期可以先做起来的准备工作。 【选择学校】 择校是个非常重要的内容&#xff0c;因为不同学校的考试内容是不一样的&#xff0c;有些…

免费SSL证书:为你的网站安全护航

SSL证书作为保障网站安全的重要工具&#xff0c;其价值不言而喻。然而&#xff0c;许多人对SSL证书望而却步&#xff0c;因为其高昂的价格让人望而生畏。但现在&#xff0c;我们为您带来了福音——免费SSL证书&#xff01;让您轻松实现网站安全&#xff0c;无惧网络威胁。 一、…

UTF-8编码文件:有BOM和无BOM的区别

UTF-8编码文件&#xff1a;有BOM和无BOM的区别 在处理UTF-8编码的文本文件时&#xff0c;你可能会遇到“有BOM”和“无BOM”两种类型。了解这两者之间的区别对于确保文件兼容性和正确的数据处理至关重要。 什么是BOM&#xff1f; BOM&#xff08;Byte Order Mark&#xff0c;…

CRM系统如何实现市场销售管理?CRM系统有哪些营销功能

CRM管理系统中的营销管理模块&#xff0c;它的锋芒常被销售管理所掩盖&#xff0c;但对于企业的业务来说同样重要。营销部门虽然不像销售人员一样直接面对客户&#xff0c;却是挖掘线索、商机的重要角色。CRM在市场营销领域的关键功能包括&#xff1a;营销漏斗、客户细分、营销…

javascript 常见工具函数(五)

41.深度拷贝对象&#xff1a; static deepCopyObj$(obj) {var result Array.isArray(obj) ? [] : {};for (var key in obj) {if (obj.hasOwnProperty(key)) {if (typeof obj[key] object && obj[key] ! null) {result[key] Utils$.deepCopyObj$(obj[key]); //递归…

微信好友添加频繁的原因

01 微信好友添加频繁的原因 1. 添加好友的频率太高&#xff1a;短时间内添加多个好友&#xff0c;系统会认为账号被盗&#xff0c;从而限制用户添加好友&#xff1b; 2. 频繁的发送好友请求&#xff1a;在短时间内连续发送好友请求&#xff0c;也会导致微信限制操作&#xff0…

系列五、搭建Naco(集群版)

一、搭建Naco&#xff08;集群版&#xff09; 1.1、前置说明 &#xff08;1&#xff09;64位Red Hat7 Linux 系统&#xff1b; &#xff08;2&#xff09;64位JDK1.8&#xff1b;备注&#xff1a;如果没有安装JDK&#xff0c;请参考【系列二、Linux中安装JDK】 &#xff08;3&…

HbuilderX中的git的使用

原文链接https://blog.csdn.net/Aom_yt/article/details/119924356