这学期开设了软件工程这门课程,下面我将简要的叙述这几方面的知识,也可以是一次简单的回顾吧!<br/>
软件工程生命周期可以分为:问题定义,可行性研究,需求分析,总体设计,详细设计,编码和测试,最后就是软件的维护阶段。
软件工程模型又可以分为:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,另外还有几个特殊的过程
Rational公司的RUP过程中的极速编程,
还有就是敏捷开发的详细过程
微软作为世界上最大的软件公司,自然她的软件开发过程一直受到各方面的关注。
软件工程有可以分为几个阶段:
软件的定义

我们要在这个阶段确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能估计完成该工程需要的资源和成本,还要制定工程进度表。

在问题的定义时我们就应该知道我们要解决的问题是什么,如果还不知道问题是什么就想要解决问题那显然是盲目的,在浪费了时间和金钱后的结果也很可能是没有意义的。在进行可行性研究时我们要知道我们确定的问题是否有可行的解决办法,而可行性研究的目的就是在花费最小的代价用最短的时间来了解问题的可行性,也就是这个问题是否可以解决,是否值得我们去解决,这个时期也不是具体的解决问题的时候,而是最终确定问题的可行性。在这个阶段我们还要做的就是需求分析,在这个时期我们应该明白我们要做这个系统之前我们还必须完成一些什么工作,我们的系统必须要做些什么?

软件的开发

这个阶段应该具体设计和实现在前一个时期定义过的软件,通常分成四个阶段组成:概要设计,详细设计,编码和单元测试,综合测试。

在进行概要设计时我们要从整个角度简单要地知道怎样来实现目标系统。首先要设计出能够实现目标系统的几种方案,而且应用合适的工具来描述每一种可行的方案,分析出每一种可行方案的优点和缺点,还要在充分权衡各种方案的利敝的基础上,选择出一个最佳的方案。

下面就应该详细设计出怎样具体地实现目标系统,在这时期的任务是设计出程序的详细规格说明书。这种规格说明包含必要的细节,有了它程序员就可以根据它来编写实际的程序代码了,这个阶段就是详细地设计每个模块,确定实现模块的功能所需要的算法和数据结构。

在有了详细设计后程序员就可以很容易地编写程序了。然而在编写程序时就必须一边编写一边进行单元测试,以发现程序中潜在的错误。

运行和维护

这个时期的主要任务是使我们开发出来的软件能够持久地满足用户的需要。说得更具体一些,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应该及时改进软件以满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。

但是我有几点疑问,测试难道就必需在开发后期进行吗?在早期的开发过程中也许是可以的,但是现在的软件开发逐渐由小作坊式的开发进入大规模的团队开发,早期介入测试有助于提早发现问题,同时大幅度的降低项目风险有很大的好处。

测试如果与软件生命周期结合,可以有效的保证测试的目标和覆盖率,同时可以充分利用需求人员,设计人员的力量来指导我们的测试,早早发现问题写出高质量的软件。
这只是软件工程的冰山一角,以后我们还有许多的内容还要谈及!

软件工程几点总结要点相关推荐

  1. 【成电860考研】《软件工程》-anki卡片知识合集-504张卡片-28000字-上岸资料整理

    软件的定义 软工 :: 概述 程序 :为完成特定任务的指令 数据 :由数据结构组织,是程序操作的对象 文档 :为便于维护,编写的说明性文字 软件危机是什么 软工 :: 概述 软件在整个生命周期中遇到的 ...

  2. 软件工程的课程总结与学习心得

    软件工程学习心得 课程总结 学习心得 课程总结 孟宁老师将软件工程这门课程分为5个部分,这5个部分包括了常用的编程工具的使用以及系统的软件工程的概论.要点,总结如下: 工欲善其事,必先利其器 工程化的 ...

  3. JAVA学习方法:不走弯路,就是捷径

    JAVA学习方法:不走弯路,就是捷径 0.引言 1.如何学习程序设计? 1.1 培养兴趣 1.2 慎选程序设计语言 1.3 要脚踏实地,快餐式的学习不可取 1.4 多实践,快实践 1.5 多参考程序代 ...

  4. 山东大学软件工程复习要点及答案

    找到这篇文章的人一定被软件工程考试搞得头秃吧. 这篇文章将会让你不再那么头秃~ 文章内容仅供参考,如有错误,请指正. Chapter01 SE的定义.目的.方法及作用? 定义:软件工程即用系统科学的工 ...

  5. 软件工程基础 ppt要点 哈工程

    第1章 软件的本质 1.软件是: (1)指令的集合(计算机程序),通过执行这些指令来提供期望的特性.功能和性能: (2)数据结构,使得程序能够合理地操纵信息: (3)文档,描述程序的操作和使用. 2. ...

  6. 成为Java高手的25个学习要点

    成为Java高手的25个学习要点 想要精通Java,成为Java高手,需要不断的学习和积累.本文给出了Java学习过程中需要注意的25个学习目标,希望可以给您带来帮助. AD: 2013大数据全球技术 ...

  7. 软件工程第二周阅读作业

    提出问题 快速通读教材<构建之法>,并参照提问模板,提出5个问题. 如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.h ...

  8. 《软件工程方法与实践》—— 导读

    <img src="https://yqfile.alicdn.com/3e3e341793012d0054d9ae32221f90deabf0b3dd.jpeg" widt ...

  9. virilog 模块之间的层次关系_软件工程导论 期末复习题

    第一章 1.什么是软件工程?软件工程方法学包括哪三要素? 答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科.采用工程的概念.原理.技术和方法来开发与维护软件,把经过时间考验而证明正确的管 ...

最新文章

  1. BZOJ 2133 切割(树形DP,树上背包)大概是本题全网第一篇题解 >_<【BZOJ 修复工程】
  2. Java反射机制及API使用
  3. Netty学习笔记(二) 实现服务端和客户端
  4. qrencode二维码生成在linux下的编译
  5. 【HAOI2015】树上染色
  6. 【转载】在华为敲代码那些年,我知道的这些事
  7. 深度揭秘Twitter的新一代流处理引擎Heron
  8. 最长回文子串_【每日编程142期】最长回文子串II
  9. QSrcollBar样式表设置
  10. c:翻转一个长句中的每个单词
  11. Android开发之——依赖冲突Program type already present
  12. The (Near) Future of Database | TiDB DevCon 2019
  13. 【DIY】通达信DIY添加扫雷宝、地图和复盘(1)
  14. 【pandas数据分析】pandas安装
  15. Flask--网页微信登陆示例
  16. 机器学习案例(三):未来销售预测
  17. [MySQL系列] SELECT STRAIGHT_JOIN优化join查询技巧
  18. android+读取电话权限,【uniapp】 读取手机通讯录权限
  19. 紫外可见分光光度计 | 探索光的工具 | 详解
  20. 收藏了800道Java后端经典面试题,共享给大家

热门文章

  1. nGrinder性能测试框架安装步骤
  2. jQuery --- 实现 checkbox 样式的单选框
  3. MySQL数据库的创建
  4. 浙江大学PAT考试1009~1012(1010上帝是冠军。。)
  5. 本周推荐10款免费的网站模板设计
  6. 书------数据库(SQL Server)
  7. POJ 3041 Asteroids(最小点覆盖)题解
  8. TCP握手和传输的一次观察
  9. 借助 Debugging Tools 分析蓝屏故障原因
  10. 解决mongodb ISODate相差8小时问题