中国矿业大学软件工程菜鸟笔记
第一章 概述
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.矿山测量学 2.摄影测量 3.GIS 4.GNSS 5.大地测量学 6.摄影测量 7.遥感
- 软件工程学习笔记《三》代码优化和性能测试
文章目录 软件工程学习笔记目录 如何在开源社区提问? 代码审查 代码优化 运行结果 参数解释 代码优化原则 对常见的数据结构排序算法进行测试 关于冒泡排序优化的探讨 结果 软件工程学习笔记目录 [ht ...
- 中国矿业大学考研计算机应用技术,2020中国矿业大学计算机专业课考试科目变动...
今年有很多学校计算机专业课考试科目都变了,今天又有一所211学校计算机专业课考试科目变了. 中国矿业大学(徐州)是一所江苏省的211大学,计算机学科评估是B,软件工程的学科评估是C-,在211大学中属 ...
- 矿大计算机考研上岸分数,2021--2022中国矿业大学动力工程考研上岸心得及分数线报录比...
原标题:2021--2022中国矿业大学动力工程考研上岸心得及分数线报录比 一.自我介绍 本人本科就读于位于郑州大学过程装备与控制工程专业.目前研究生就读于江苏徐州的中国矿业大学动力工程专硕.考研成绩 ...
- 2023中国矿业大学计算机考研信息汇总
中国矿业大学[北京]研招网 中国矿业大学[北京]机电与信息工程学院 中国矿业大学(北京)机电与信息工程学院下设有四个系和一个研究所:机械电子工程系.信息与电气工程系.计算机科学与技术系.材料科学与 ...
- 矿大计算机考研学硕,【经验贴】2020中国矿业大学(北京)会计学学硕考研经验...
原标题:[经验贴]2020中国矿业大学(北京)会计学学硕考研经验 一.关于择校和定专业 1)选择中国矿业大学(北京)会计学学硕的原因:一是我自身本科毕业于湖南的普通一本,高考的失利的遗憾希望通过考研来 ...
- 【招生目录和招生简章】中国科学院大学 中科院沈阳计算所 中国矿业大学 广州大学 北京人民公安大学...
小编开了一个专区,提供给同学们各种学校的招生简章和招生目录链接.当然,如果这个学校没有计算机/软件工程等相关专业,在这里可能是没有的. 点击阅读原文,查看全部学校的招生简章和招生目录. 这是更新的 招 ...
- 【中国矿业大学】考研初试复试资料分享
给同学们送福利啦~ 提供给同学们计算机/软件工程等相关专业的各种学校的初试复试资料集合. 资料一般包含初试真题,往年学长学姐考研经验,通知,复试资料等等. 这次分享的是 中国矿业大学 的考研资料~ 中 ...
- 重邮大学计算机基础考试试题及答案,重庆邮电大学展出学霸笔记:你与学霸的距离,可能只差一本笔记...
原标题:重庆邮电大学展出学霸笔记:你与学霸的距离,可能只差一本笔记 俗话说,好记性不如烂笔头,不动笔墨不读书.新学期,重庆邮电大学为学子们送上一份别致的开学礼物--第三.第四教学楼和图书馆大厅展示了6 ...
最新文章
- 淘宝API学习之道:淘宝API相关了解
- 十张图了解2021年中国数据中心产业链投资现状和投资并购发展趋势
- literature review and methodology
- 【小白学习tensorflow教程】一、tensorflow基本操作、快速构建线性回归和分类模型
- 基于情感脑电信号时-频-空特征的3D密集连接网络
- Linux学习:文件描述符表
- Python 单元测试(unittest)
- 局部变量和参数传递的问题
- linux c之snprintf()和sprintf()区别
- 终于有人把5G和边缘计算的关系说清楚了 | 技术头条
- C++ const用法 尽可能使用const
- 从技术到求职,强烈推荐一下这9个牛逼的公众号,技术人必备
- 梦笔记2021-03-05
- 当前只读状态:是_DM数据库的启停以及数据库状态检查
- npm 可视化html编辑器,Vue + element从零打造一个H5页面可视化编辑器——pl-drag-template...
- html 小喇叭图标,找回丢失的小喇叭图标
- ndk 的emac_TMS320C6678 MAC address error出错,请问是不是因为两个核的NDK所使用的EMAC channel 相同造成的呢?...
- 华为OD机试题:身高体重排序
- Win11图标变成白色文件如何解决?
- Feign整合Sentinel实现容错