软件工程课堂笔记

写在前面:笔记的后期整理,课堂记录的十分零碎+蒙太奇,也导致这篇博客也很蒙太奇


方法论

系统化
标准化,接口名称,参数…
规范化,ISO和GB…

软工重要的过程

论证
需求
设计
开发
测试
运行
维护再工程

阿巴阿巴

计算机发展水平标志,硬件
软件,计算机的灵魂
计算机应用发展,快
软件实质,硬件+数据
软件最高境界,简单,这里是老师的理解吧,人云亦云
软件最大的问题,知识

数据设计

编码,布尔整数字符串
内外存情况,微信的例子
数据交换

计算机软件:程序和文档

程序

程序是计算任务的处理对象和处理规则的描述,3个要素
任务,以计算机为工具的任务
处理对象,数据和信息,信息是经过处理的数据,图形和图像的区别,图形如AR,VR,2维转化成3为图像,图像如感光器记录下来的内容,计算机能看得见的内容
处理规则,处理的动作和步骤

边角料,文档80%人与20%机器,数据字典:元数据->机器阅读

计算机发展阶段

(导论的内容,怎么这里也讲了…)
1946~1954,容量小,低级语言编写
1954~1968,高级语言出现,软件工程出现前,Pascal 过程函数语言,C函数语言
1968~,巨型机,微型机,高性能机的出现,IBM的Deep Blue象棋,第五代计算机1990宣布失败,网络互联->分布式->网格,分布式的Hadoop,术语如发送Map,结果回收Reduce,网格GlodBus,嵌入式系统…
边角料:新技术,智能化,自动化,集成化,并行化,自然化…

软件危机的主要原因

受硬件条件的制约
需求理解不充分
受开发者、用户、时期的局限
理论和算法的局限
复用与技术的壁垒
软件成本日益增长
版权问题

组成基于计算机系统的元素

硬件
软件
人员
数据(库),IBM的DB2,Oracle,SQLServer…等,数据管理类型,有关系型,层次型如计算机的文件管理系统,网状型如网址

系统工程的任务

识别用户的要求

要求≠需求,要求有功能,性能,数据,接口,约束,功能是最基本的实现,数据安全如有冗余容灾备份加密,约束,运行时的约束

系统建模和模拟

硬件系统模型,硬件配置,通信协议,拓扑结构,保证系统安全性、可靠性、性能,如sina服务器本地化,CDN负载均衡
软件系统模型,编译环境,系统环境
人机接口模型,讲的还是接口
数据模型,数据是如何保存和表示,如人工采集,摄像采集

成本估算及进度安排

估算方法,功能点,人月数,类比

可行性分析

经济、技术、法律、市场…

生成系统规格说明书

写文档,提到了个维护文档,想起来我们的项目好像还没有维护文档

边角料:可行性分析,太多了都是ppt,不写了

可行性分析的结论

可以立即开始进行
需要推迟到某些条件落实后才能进行,如资金,人力,设备等原因
需要对开发目标进行某些修改之后才能开始进行
某些原因不能进行

你可能感兴趣的:(笔记)