第一章 概述

1.1计算机软件概述

1.1.2软件的特点

  • 是一种逻辑实体,抽象性
  • 不是传统意义的被制造
  • 至今尚未完全摆脱手工艺的开发方式
  • 不会磨损会退化
  • 维护困难
  • 本身是复杂的,实际问题的复杂和程序逻辑结构复杂
  • 涉及到社会因素
  • 60-80%的工作花费在第一次将软件交付给客户之

1.1.3 软件分类

按功能分类:应用软件,支撑软件(类库),系统软件(数据库管理系统,操作系统)

按大小分类

按工作方式:批处理,分时处理,实时处理(实时性指特定操作所消耗的时间与空间的上限是可预知的),交互式处理

按服务对象:项目(定制)软件,产品(通用)软件

1.2 软件发展

四阶段

1.3 软件危机与软件问题

开发软件遇到的问题:

  • 不能满足客户要求
  • 超出预算和时间安排
  • 生产过程不像硬件那样规范,受人的因素和外界的影响很大,在软件生产的各个阶段都会引入不同程度的错误,造成不能预期完成任务,成本上升,甚至软件失败

软件危机的表现:

  • 对开发成本和进度估计不正确
  • 用户对已完成的软件不满意
  • 质量靠不住
  • 常常是不可维护的
  • 没有适当的文档资料
  • 软件成本所占比例逐年上升
  • 开发生产率的提高速度远远跟不上计算机应用迅速普及深入的趋势

原因:

  • 逻辑产品,开发进度和成本难以估计
  • 不完整,不一致的文档给维护带来困难
  • 用户对软件需求的描述不够精确
  • 开发人员对需求的理解与用户愿望的差异
  • 多人协同时,缺乏管理经验
  • 开发人员不能有效,独立的处理大型软件的全部关系
  • 缺乏有力的方法学和工具
  • 软件的特殊性和人类智力的局限性

1.4 软件工程与开发准则

1.4.1 软件工程的概念

  • 将系统化,严格约束的,可量化的方法应用于软件的开发,运行与维护,根本在于提高软件的质量与生产率,最终实现软件的工业化生产
  • 软件工程是计算机软件开发的过程,方法和工具的学科

1.4.2 软件工程的内容

工具(为过程和方法提供自动或半自动的支持)

方法(软件开发过程采用的技术)

过程(软件人员进行的一系列的软件工程活动)

以上为软件工程三要素;

1.5 软件生命周期

指从软件目标的提出,定义,开发,维护,到最终被丢弃的过程;

1.6 软件开发模型

对软件过程的建模:任务及执行顺序,目标是保证质量和适应需求变化;

主要模型:瀑布模型,原型模型,增量模型,螺旋模型

1.6.1 瀑布模型

  • 阶段间具有顺序性和依赖性

  • 顺序性指必须在前一阶段的工作完成之后,才能进行下一阶段的工作

  • 依赖性指只有前一阶段的输出正确,后一阶段的工作才有可能获得正确的结果

  • 优点:1.线性是人们最容易掌握并熟练应用的思想

    ​ 2.一个软件的整体可能是复杂的,而单个子程序总是简单的,可以用线性的方式实现。

  • 推迟实现(缺点):编码完成后,用户才能看到产品

  • 缺点:要求一开始清楚给出所有需求,以后也不能发生任何变化,这是不可能实现的,开始阶段上自然存在一些不确定性

边做边改模型:

问题:忽略需求环节,带来很大风险;缺少规划和设计环节,软件结构不断修改越来越糟,导致无法修改;

瀑布模型可能退化成边做边改模型,也是其缺点之一。

1.6.2 原型模型(只是壳子*,体现用户需求,简单界面设计)

项目开发中两个问题:1用户难以清楚的给出所有需求(不能标识详细的输入,处理,输出需求)

2 开发者不能确定以下问题:

编程语言的有效性;人机交互的形式;操作系统的适应性;

由以上问题给出原型模型:

  • 收集用户需求:标识出已知需求,需要进一步澄清的区域
  • 建立原型:能反映用户的主要需求,集中于用户可见的部分,输入,输出等
  • 用户评估原型,进一步精华软件需求
  • 逐步调整原型使其满足客户的要求

对比瀑布模型的优点:

  • 原型为开发人员和用户提供了一种整理,分析和提炼软件需求的机制
  • 用户不必等到项目开发周期的晚期才能得到程序的可运行版本

1.6.3 增量模型(融合瀑布模型和原型模型)

软件被作为一系列的增量构件来设计,实现,集成和测试

  • 增量模型由一系列瀑布模型组成
  • 原型模型时开发一个原型交给用户使用,然后根据用户的使用和评价,重新修改原型。增量模型也有类似的过程
  • 原型模型迭代中产生的原型系统是为了明确产品需求,最终将被废弃
  • 增量模型强调每一个增量均为发布的产品
  • 需求的变化不可避免时,增量模型适应这种变化的能力大大优于瀑布模型和原型模型
  • 软件过程的控制失去整体性时,容易退化成边做边改模型

1.6.4 螺旋模型(瀑布模型+原型模型)

强调了其他模型所忽视的风险分析,适合大型复杂系统

第二章 项目计划

2.1 问题定义

  • 目的:明确用户要计算机解决的问题;

  • 任务确定问题背景,待开发系统的目标和范围;

  • 方式:1.口头形式了解用户要求

    ​ 2.阅读用户提供的相关资料

    ​ 3.现场观察亲自操作

  • 成果:软件开发任务书
    软件开发任务书的内容:

2.2 可行性研究

2.3 流程图

中国矿业大学软件工程菜鸟笔记相关推荐

  1. 中国矿业大学测绘工程专业课-学习笔记

    中国矿业大学测绘工程专业课-学习笔记 1.矿山测量学 2.摄影测量 3.GIS 4.GNSS 5.大地测量学 6.摄影测量 7.遥感

  2. 软件工程学习笔记《三》代码优化和性能测试

    文章目录 软件工程学习笔记目录 如何在开源社区提问? 代码审查 代码优化 运行结果 参数解释 代码优化原则 对常见的数据结构排序算法进行测试 关于冒泡排序优化的探讨 结果 软件工程学习笔记目录 [ht ...

  3. 中国矿业大学考研计算机应用技术,2020中国矿业大学计算机专业课考试科目变动...

    今年有很多学校计算机专业课考试科目都变了,今天又有一所211学校计算机专业课考试科目变了. 中国矿业大学(徐州)是一所江苏省的211大学,计算机学科评估是B,软件工程的学科评估是C-,在211大学中属 ...

  4. 矿大计算机考研上岸分数,2021--2022中国矿业大学动力工程考研上岸心得及分数线报录比...

    原标题:2021--2022中国矿业大学动力工程考研上岸心得及分数线报录比 一.自我介绍 本人本科就读于位于郑州大学过程装备与控制工程专业.目前研究生就读于江苏徐州的中国矿业大学动力工程专硕.考研成绩 ...

  5. 2023中国矿业大学计算机考研信息汇总

    中国矿业大学[北京]研招网   中国矿业大学[北京]机电与信息工程学院 中国矿业大学(北京)机电与信息工程学院下设有四个系和一个研究所:机械电子工程系.信息与电气工程系.计算机科学与技术系.材料科学与 ...

  6. 矿大计算机考研学硕,【经验贴】2020中国矿业大学(北京)会计学学硕考研经验...

    原标题:[经验贴]2020中国矿业大学(北京)会计学学硕考研经验 一.关于择校和定专业 1)选择中国矿业大学(北京)会计学学硕的原因:一是我自身本科毕业于湖南的普通一本,高考的失利的遗憾希望通过考研来 ...

  7. 【招生目录和招生简章】中国科学院大学 中科院沈阳计算所 中国矿业大学 广州大学 北京人民公安大学...

    小编开了一个专区,提供给同学们各种学校的招生简章和招生目录链接.当然,如果这个学校没有计算机/软件工程等相关专业,在这里可能是没有的. 点击阅读原文,查看全部学校的招生简章和招生目录. 这是更新的 招 ...

  8. 【中国矿业大学】考研初试复试资料分享

    给同学们送福利啦~ 提供给同学们计算机/软件工程等相关专业的各种学校的初试复试资料集合. 资料一般包含初试真题,往年学长学姐考研经验,通知,复试资料等等. 这次分享的是 中国矿业大学 的考研资料~ 中 ...

  9. 重邮大学计算机基础考试试题及答案,重庆邮电大学展出学霸笔记:你与学霸的距离,可能只差一本笔记...

    原标题:重庆邮电大学展出学霸笔记:你与学霸的距离,可能只差一本笔记 俗话说,好记性不如烂笔头,不动笔墨不读书.新学期,重庆邮电大学为学子们送上一份别致的开学礼物--第三.第四教学楼和图书馆大厅展示了6 ...

最新文章

  1. 淘宝API学习之道:淘宝API相关了解
  2. 十张图了解2021年中国数据中心产业链投资现状和投资并购发展趋势
  3. literature review and methodology
  4. 【小白学习tensorflow教程】一、tensorflow基本操作、快速构建线性回归和分类模型
  5. 基于情感脑电信号时-频-空特征的3D密集连接网络
  6. Linux学习:文件描述符表
  7. Python 单元测试(unittest)
  8. 局部变量和参数传递的问题
  9. linux c之snprintf()和sprintf()区别
  10. 终于有人把5G和边缘计算的关系说清楚了 | 技术头条
  11. C++ const用法 尽可能使用const
  12. 从技术到求职,强烈推荐一下这9个牛逼的公众号,技术人必备
  13. 梦笔记2021-03-05
  14. 当前只读状态:是_DM数据库的启停以及数据库状态检查
  15. npm 可视化html编辑器,Vue + element从零打造一个H5页面可视化编辑器——pl-drag-template...
  16. html 小喇叭图标,找回丢失的小喇叭图标
  17. ndk 的emac_TMS320C6678 MAC address error出错,请问是不是因为两个核的NDK所使用的EMAC channel 相同造成的呢?...
  18. 华为OD机试题:身高体重排序
  19. Win11图标变成白色文件如何解决?
  20. Feign整合Sentinel实现容错

热门文章

  1. Android 高仿造微信发送位置(高德地图版)
  2. Spring Boot电商项目59:订单模块八:【后台:订单列表】接口;
  3. Python GUI编程(Tkinter) 之 股票选股器
  4. 运动神经元会导致肢体无力 肌肉酸痛吗
  5. 计算机导论 十一五 清华出版,计算机导论黄国兴
  6. 2018产融服务的升级将加快提高行业运作
  7. 小程序网络请求wx.request总结
  8. Framework学习之路(一)—— UI绘制深入源码分析
  9. [量化-002]量化平台和量化理论
  10. 编码器如何推流给SLS,VLC/VMIX/OBS如何播放SLS流