软件工程(一)软件工程概论
前言:
软件工程概论是软件工程这个阶段学习的第一课,按照习惯应该是这门课最提纲挈领的开篇。所以这节课很是重要,就像你去四川旅游,它就是你的地图让你事先略知一二。不需要很清楚,它会让你不迷路!
纲领
五个块:软件基础——>软件分类——>软件发展阶段——>软件过程——>软件工程过程——>软件的生存期

软件的分类

软件的发展阶段
软件的发展总是依赖于硬件的发展,每个阶段的硬件水平不同导致软件开发的水平不一

软件的生存期
整个软件从开发诞生到废弃的过程。重点是开发的步骤,到软件工程的开发阶段每个步骤都会产生相应的文档并经过严格的评审才能执行下一步的开发。

软件工程的理念使得整个软件开发过程规范化、标准化、甚至模型化,在大型的软件系统开发中更能够体现这些理念的重要性。他们保证了软件开发过程的严谨和一丝不苟,从而保证了软件有好的质量。不仅仅更好的为用户服务,更能够为开发人员在后期的维护和完善工作中有迹可循,减轻工作的负担。
软件工程(二)软件计划
对于一个刚刚接触软件工程的菜鸟来说,什么都是新鲜的。我做的只能是聆听各位的意见加上自己的摸索、自己的理解。软件计划,从字面上我的理解是对于开发一个新的系统。就需要一个计划来指导你的开发,让你在这个开发的过程中提高效率少走弯路。让我们看看百度百科是怎么说的。软件项目计划(Software
Project Planning)是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。很多的术语,很专业的解释。下面请看详细内容
软件计划问题的框架
了解框架,便于把我全局。

问题定义

可行性研究

在这里主要是对各个方面的研究,为开发系统做好准备。
软件计划具体内容

第一步是形成软件计划书,然后软件要设计的模块、硬件等信息。当然还有考虑软件运行的环境。
软件价格分析

成本效益分析

总结:看完这些资料,应该有这样一个了解。软件计划就是通过科学的方法和理论让整个软件开发工程科学化、文档化(几乎每实施一个阶段都会产生一个文档,然后进行审查。审查通过后才能进行下一步。)。从而保证整个软件的开发过程质量,当然不仅仅在这个过程中享受到软件计划带来的好处。在软件维护的阶段,对于软件维护的工作人员也会带来很多便利,节省了软件维护的成本
软件工程(三)软件需求分析
在完成软件计划后,就应该开始对软件进行需求分析。其实在软件计划部分的可行性研究部分也与此类似,但是这部分的内容是对软件到底要做什么?如何去做?进行细化和具体的工作要求。
首先看软件需求分析到底是哪几个部分及其简要内容。

软件分析过程中的详细任务,及需求形成的文档。

软件需求分析过程中需求坚持的原则

软件需求分析中的分析方法
1.结构化分析方法
2.动态化分析方法
3.原型化分析方法

有了好的方法,就是如何来实现软件需求分析。即软件分析的详细过程。

在软件分析最重要的是要生成一个软件需求分析规格说明书
需求分析规格说明书
1.引言
1.1需求规格说明书目的
1.2软件产品作用范围
1.3定义 、同义词与缩写
1.4参考文献
1.5需求规格说明书概览
2.一般性描述
2.1产品与其环境之间的关系
2.2产品功能
2.3用户特征
2.4限制与约束
2.5假设与前提条件
3.特殊要求
附录
索引
特殊要求的描述格式可谓
3. 特殊需求
3.1功能或行为需求
3.1.1 功能或行为需求 1
3.1.1.1 引言
3.1.1.2 输入
3.1.1.3 处理过程描述
3.1.1.4 输出
3.12 功能或行为需求 2
........
3.1.n 功能或行为需求 n
3.2 外部界面需求
软件需求分析为用户在系统的功能及性能要求,建立模型。将可行性研究的内容细化和精化。并相应形成需求规格说明书,这个过程的活动即软件需求分析。
如何做笔记之软件工程(四)面向过程的软件设计方法
软件工程的视频讲解的很细致,但是如果不好好笔记。你的笔记就会一团糟,连自己都不会回头去看,跟别谈整理了。
我之前就是这样,这样就觉得自己没有学到什么。自己的经验和实践,好好的总结整理远比看视频重要的多。下面我想把我的ONENOTE
笔记跟大家分享,希望大家多多提建议。
类似如Mindmanager ,ONENOTE其实也可以是思维导图。
软件设计方法

利用标题 1.2.3分成,折叠将详细内容折叠。既看起来脉络清晰、层次分明,也可让你在回头查阅时不会让你直接获取答案,看到几个关键字来回想。
软件设计目标及任务
由信息域表示软件、功能、性能需求来进行数据、系统结构、过程设计。

软件设计基础

模块独立性

结构化设计方法

数据设计及文件设计

以上就是软件工程中的第四章,面向过程的软件设计方法。其实面向过程的软件设计方法,就是将设计的过程分解为一步步,再利用工具一步步去实现就行了。就像在大学上学一样,睡到7:50,8:00上课到12:00吃饭,睡到1:50,2:00上课。凌晨2:00睡觉。这样一个过程,一步步来。面向过程也是这样的,在应对一些小的系统和项目时候的这种思想是有优势的。 |