当前位置: 首页 > news >正文

软件工程期末总结

软件工程期末总结

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

软件危机出现的原因

  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、确定服务

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

相关文章:

软件工程期末总结

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

MidTool图文创作-GPT-4与DALL·E 3的结合

GPT-4与DALLE 3的结合 GPT-4是由OpenAI开发的最新一代语言预测模型&#xff0c;它在前代模型的基础上进行了大幅度的改进&#xff0c;不仅在文本生成的连贯性、准确性上有了显著提升&#xff0c;还在理解复杂语境和执行多步骤指令方面表现出了更高的能力。而DALLE 3则是一个创…...

Python将两个或多个列表合并为一个列表,并根据每个输入列表中的元素的位置将其组合在一起

将两个或多个列表合并为一个列表&#xff0c;并根据每个输入列表中的元素的位置将其组合在一起。 这个需求在实际开发过程中应该说非常常见&#xff0c;当然python也给我们内置了相关方法&#xff01; zip(*iterables, strictFalse) 在多个迭代器上并行迭代&#xff0c;从每…...

数模混合SoC芯片中LEF2Milkyway的golden flow

在数模混合芯片中的项目中&#xff0c;特别是数字模块很少甚至只有一个简单的数字控制逻辑时&#xff0c;我们要做数字模块的后端实现时&#xff0c;通常模拟那边会问我们实现需要他们提供哪些数据。 通常来说&#xff0c;我们可以让模拟设计提供数字模块的GDS或LEF文件即可。…...

Five tips to make your essay flow

This post was written by Sydney Nicholson, a second-year master’s student in the English Department. Dear writer, Have you ever wondered what it takes to make an essay “flow”? In my time as a writing center tutor, I’ve noticed that this is one of th…...

linux驱动(二):led补

本文主要探讨s5pv210的led驱动相关知识&#xff0c;包括驱动主次设备注册和取消&#xff0c;udev(mdev)机制&#xff0c;静态和动态映射操作寄存器。 字符设备驱动注册 老接口(register_chrdev) static inline int register_chrdev(unsigned int major, const char *n…...

性能测试-jmeter:安装 / 基础使用

一、理解jmeter 官网-Apache JMeter-Apache JMeter™ JMeter是一款开源的性能测试工具&#xff0c;主要用于模拟大量用户并发访问目标服务器&#xff0c;以评估服务器的性能和稳定性。 JMeter可以执行以下任务序号用途描述1性能测试通过模拟多个用户在同一时间对服务器进行请…...

数据仓库-数仓优化小厂实践

一、背景 由于公司规模较小&#xff0c;大数据相关没有实现平台化&#xff0c;相关的架构都是原生的Apache组件&#xff0c;所以集群的维护和优化都需要人工的参与。根据自己的实践整理一些数仓相关的优化。 二、优化 1、简易架构图 2、ODS层优化 2.1 分段式解析 随着业务增长…...

uniapp中uview组件丰富的Code 验证码输入框的使用方法

目录 基本使用 #自定义提示语 #保持倒计时 API #Props #Methods #Event 基本使用 通过ref获取组件对象&#xff0c;再执行后面的操作&#xff0c;见下方示例。 通过seconds设置需要倒计的秒数(默认60)通过ref调用组件内部的start方法&#xff0c;开始倒计时通过监听cha…...

md文件图片上传方案:Github+PicGo 搭建图床

文章目录 1. PicGo 下载2. 配置Github3. 配置PicGo4. PicGo集成Typora4.1 picGo监听端口设置 5. 测试 1. PicGo 下载 下载地址&#xff1a;https://molunerfinn.com/PicGo/ 尽量下载稳定版本 2. 配置Github 1. 创建一个新仓库&#xff0c;用于存放图片 2. 生成一个token&a…...

从零开始 - 在Python中构建和训练生成对抗网络(GAN)模型

生成对抗网络&#xff08;GANs&#xff09;是一种强大的生成模型&#xff0c;可以合成新的逼真图像。通过完整的实现过程&#xff0c;读者将对GANs在幕后的工作原理有深刻的理解。本教程首先导入必要的库并加载将用于训练GAN的Fashion-MNIST数据集。然后&#xff0c;提供了构建…...

OfficeWeb365 Indexs 任意文件读取漏洞复现

0x01 产品简介 OfficeWeb365 是专注于 Office 文档在线预览及PDF文档在线预览云服务,包括 Microsoft Word 文档在线预览、Excel 表格在线预览、Powerpoint 演示文档在线预览,WPS 文字处理、WPS 表格、WPS 演示及 Adobe PDF 文档在线预览。 0x02 漏洞概述 OfficeWeb365 /Pi…...

Crypto的简单应用-前后端加密传输

最近遇到一个数据脱敏处理的需求&#xff0c;想要用一种轻量级的技术实现&#xff0c;必须足够简单并且适用于所有场合如前后端加密传输、路由加密、数据脱敏等。抽时间研究了一下Crypto加密库的一些API&#xff0c;发现完全符合上述需求&#xff0c;扩展也比较容易。 1、前端加…...

Vue3-32-路由-重定向路由

什么是重定向 路由的重定向 &#xff1a;将匹配到的路由 【替换】 为另一个路由。 redirect : 重定向的关键字。 重定向的特点 1、重定向是路由的直接替换,路由的地址是直接改变的&#xff1b; 2、在没有子路由配置的情况下&#xff0c;重定向的路由可以省略 component 属性的配…...

如何用js动态修改字体大小

在项目中&#xff0c;我们常常会遇到使用v-html渲染文本的情况。 如果需要点击大中小三个字号按钮&#xff0c;需要修改字体的大小。那我们应该怎么做呢 function fontSize(element, type) {let size {big: 22,middle: 16,small: 12};var result element.innerHTML.replac…...

【BIG_FG_CSDN】C++ 数组与指针 (个人向——学习笔记)

一维数组 在内存占用连续存储单元的相同类型数据序列的存储。 数组是静态存储器的块&#xff1b;在编译时确定大小后才能使用&#xff1b; 其声明格式如下&#xff1a; 元素类型 数组名[常量]&#xff1b;元素类型&#xff1a;数组中元素的数据类型&#xff1b; 常量&#…...

桌面天气预报软件 Weather Widget free mac特点介绍

Weather Widget free for Mac多种吸引人的小部件设计可供选择&#xff0c;可以随时了解天气&#xff01;还可以在Dock和菜单栏中为您提供简短的天气预报或当前状况的概述。 Weather Widget free for Mac软件介绍 始终在桌面上使用时尚的天气小部件来随时了解天气&#xff01;多…...

HarmonyOS应用开发-搭建开发环境

本文介绍如何搭建 HarmonyOS 应用的开发环境&#xff0c;介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境&#xff0c;面向全场景多设备&#xff0c;提供一站式的分布式应用开发平台&#xff0c;支持分布式多…...

<JavaEE> TCP 的通信机制(五) -- 延时应答、捎带应答、面向字节流

目录 TCP的通信机制的核心特性 七、延时应答 1&#xff09;什么是延时应答&#xff1f; 2&#xff09;延时应答的作用 八、捎带应答 1&#xff09;什么是捎带应答&#xff1f; 2&#xff09;捎带应答的作用 九、面向字节流 1&#xff09;沾包问题 2&#xff09;“沾包…...

电脑怎么设置代理IP上网?如何隐藏自己电脑的真实IP?

在现代互联网中&#xff0c;代理IP已成为许多用户保护隐私和上网安全的重要手段。通过设置代理IP&#xff0c;用户可以隐藏自己的真实IP地址&#xff0c;提高上网的安全性&#xff0c;同时保护个人信息不被泄露。本文将详细介绍如何设置代理IP上网以及如何隐藏电脑的真实IP地址…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...