热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

(软件工程)——概述

刚刚进入软件工程学习模块,所以做了一些简短的总结,希望对你有所帮助!1、什么是软件?软件是计算机系统中与硬件相互依存的另

刚刚进入软件工程学习模块,所以做了一些简短的总结,希望对你有所帮助!


1、什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,它包括程序,数据及相关文档的完整集合。

程序是按事先设计的功能和性能要求执行的指令序列。

数据是使程序能正常操纵信息的数据结构。

文档是与程序开发,维护和使用有关的图文材料


2、软件的特点

(1)、软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。

(2)、软件的生产与硬件不同,在它的开发过程中没有明显的制造过程。

(3)、在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。

(4)、软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖。

(5)、软件的开发至今尚未完全拜托手工艺的开发方式。

(6)、软件本身是复杂的

实际问题的复杂性

程序逻辑结构的复杂性

(7)、软件成本相当昂贵

(8)、相当多的软件工作涉及到社会因素。


3、软件的分类

在这里插入图片描述


4、软件工程

软件工程就是我们用科学工程的管理方法,来指导软件的开发、

设计、维护、调试这一系列的活动,由规章制度来指导软件的工作。


5、软件危机

软件危机:软件开发和维护过程中遇到的一系列严重问题


5.1、软件危机的表现

产品不符合用户的实际需求
软件开发生产率提高的速速远远不能满足客观需要
软件产品的质量差
对软件开发成本和进度的估计常常不准确
软件的可维护性差
软件文档资料通常既不完整也不合格
软件的价格昂贵


5.2、产生软件危机的原因

(1)、软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件,在写出程序代码并在计算机上试运之前,很难检验开发的正确性,而且软件开发的也较难评价,软件不同于一般程序,它的一个显著特点是规模庞大。
(2)、虽然软件本身独有的特点确定给开发和维护带来一些客观困难,但是人们在开发和使用计算机系统的长期实践中,也确定积累和总结出了许多成功的经验。
(3)、开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需求
(4)、软件管理技术不能满足现代软件开发的需求,没有统一的软件质量管理规范。
(5)、在软件的开发和维护关系问题上存在错误的概念。


5.3、软件工程的基本原理

(1)、用分阶段的生命周期计划严格管理
(2)、坚持进行阶段评审
(3)、实行严格的产品控制
(4)、采用现代程序设计技术
(5)、结果应能清楚地审查
(6)、合理安排软件开发小组的人
(7)、承认不断改进软件工程实践的必要性


6、传统软件工程生存期的六个步骤

在这里插入图片描述


软件开发的生命周期


总览

在这里插入图片描述


详细解析


1、计划阶段

定义问题
确定系统的可行性
制定项目进度表
为项目安排人员
启动项目


2、分析阶段

收集信息
确定系统需求
建立需求发现的原型
划分需求的优先级
产生并评估可替换方案
与管理人员一起审查建议


3、设计阶段

设计并集成网络
设计应用程序结构
设计用户界面
设计系统界面
设计并集成数据库
设计细节的原型化
设计并集成系统控制


4、实现阶段

构建软件的部件
检验并测试
开发调整原型
转换数据
培训与文档
安装系统


5、支持阶段

目标:保证系统在安装后有效地运行
对最终用户的支持
帮助台,由技术人员组成
培训计划
维护并增强计算机系统
增强
升级
维护

希望我的分享能你有所帮助!
感谢您的阅读,如果您有更好的方法,欢迎分享给我,谢谢您!


推荐阅读
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文介绍了如何在 DB2 环境中创建和删除数据库编目。创建编目是连接新数据库的必要步骤,涉及获取数据库连接信息、使用命令行工具进行配置,并验证连接的有效性。删除编目则用于移除不再需要的数据库连接。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • IT项目管理过程中的方法、工具、技术
    工欲善其事,必先利其器。而对于一个软件开发项目,最重要的器就是方法,工具和技术。而这三要素中重要的又是方法论,方法是基础&# ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
author-avatar
皇家城市_579
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有