经过了一段时间的软件工程的学习,我对软件工程有了一定的了解,以前一直听师傅软工是软件设计的灵魂,上升到了灵魂的高度,那可是要重点关注了;结合自考学习的《信息系统开发与管理》,觉得软件工程其实也不是那么神秘,米老师常说知识都是想通的,我现在也觉得是,关键在于你有没有通一门学科知识,揭开软工的神秘面纱,请接着向下看。
方向导航:
1.为什么会有软件工程?
软件危机——软件开发和维护过程中遇到的一系列严重问题
表现:需求不满足,质量差、成本和进度不准确,可维护性差,文档不完整,不合格,价格昂贵
根本原因:由特点决定,只重视开发忽略维护
解决办法:软件系统的研制工作走工程化道路。用分阶段的生存周期计划严格管理,坚持进行阶段评审,实现严格的产品控制,采用现代程序设计技术,结果清楚地审查,合理安排软件开发小组的人,承认不断改进软件工程实现的必要性。
软件不单单是一个程序,我们所见到的手机各种应用APP只是面向客户的一个分支,还有一系列的数据、相关文档一起组合形成的,下一阶段就要编写相关文档,好好学习,编写文档,指导软件的继续开发。
2. 软件工程的具体开发过程是怎样的?
软件的开发模型
B模型——软件开发和维护循环
瀑布模型 ——阶段之间顺序性和依赖性强,推迟实现,每个阶段非常严格(评审)
思想:问题分解简化,分工协作
优点:推迟物理实现,易于修改文档,质量保证
不足:与用户见面晚,阶段依赖性和顺序性强,开发周期长,用户和开发人员的沟通有中断,开发偏离
适用范围:系统要求明确
开发方法:阶段进行,任务明确,不同级别的软件人员承担
快速原型模型——用户和设计人员一直在一起,丢弃,渐增性
演化模型——探索可行性到满意产品
螺旋模型——四象限,制定计划,*风险分析*,实施工程,客户评价,从第二象限开始顺时针走,每转一圈产生一个新的版本
喷泉模型——各个阶段同时进行,没有明显分隔,提高效率迭代,无间隙,多个阶段可以同时进行,软件的各个周期是相互重叠和多次反复的
原型——渐增性
思想:部分需求到逐渐完善和扩充
优点:开发人员和用户共同参与,很好满足用户需求
适用范围:知识型软件系统的开发
特点:整体结构不清晰,文档划分不如瀑布型严格,周期长,成本高,开发效率高,与用户见面快
渐增模型——逐渐完善,基于原型
软件开发的6个过程
系统分析——软件规格说明书
制定计划——确定总目标,给出各方面的要求,完成可行性研究,产生可行性研究报告(专家和领导审查,项目可以开始做)
需求分析和定义——用户需求分析,详细定义,多用图表少用文字,产生软件需求说明书,着手写用户手册
软件设计——概要设计,需求转化为体系结构,抽象,划分模块;详细,模块中的详细结构,产生设计说明书(测试参照)
软件测试——静态和动态测试,单元测试,由开发者完成;组装测试,检查接口和全局变量,由*用户或专门机构完成
运行维护——费用最多,交给用户,改正性维护,完整维护,有维护的工作量限制
3. 通过软件工程视频的学习,有什么感受?
软工的内容仅仅不是视频中的内容能够讲完的,理论指导加上我们的实践,现在才知道自己的机房收费系统远远没有结束,我们所接触的知识只是一点点的皮毛而已,进一步深入学习,不断总结,尝试着去做,做好计划安排,时间管理,总结不是结束,而是我们新的开始,加油!