博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【软件工程】1.软件工程概述
阅读量:7064 次
发布时间:2019-06-28

本文共 1481 字,大约阅读时间需要 4 分钟。

软件工程概述
一、软件的发展历史
程序设计阶段
软件设计阶段
软件工程阶段
(1)程序设计阶段
在1946年~1955年。对硬件进行开发,规模很小
主要用于科学计算。  
程序设计追求节省空间和编程技巧。
(2)软件设计阶段
在1956年~1970年
硬件增长速度快,性价比越来越高。从科技转化到了商用。
软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,导致了“软件危机”。
(3)软件工程阶段1970年~至今
大量的软件需求被提出,没有相应解决方案。
改变软件开发的技术手段和管理。
采用新的变成思想来开发软件。
采用工程化的思想来管理软件。
目前为止没有从根本上解决软件危机。
二、软件工程的目标
利用工程化的方法.在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件. 提高软件产品的质量和开发效率,减少维护的困难。
三、软件的复杂性
图形用户界面。程序与文档。数据通信。超大型关系型数据库(NoSQL不仅关系型数据库)。负载均衡集群。
四、软件项目团队中的角色
分析师:接触用户,获得用户的需求,前瞻性估略出要使用的技术,做出需求分析,总结需求使之成为文档,供开发人员使用(不编码,只负责调研,需要拥有开发经验和良好的沟通能力)。
软件架构师:通常做一些前沿技术,根据新的框架需求,设计整体框架,
项目经理:目标是在规定的时间内把用户的需求完成,管理整个项目团队的开发,负责控制开发进度,分配开发任务。
设计人员:对系统的原型进行设计,对UI进行设计,对程序每一个功能设计,数据库设计,还有美工等。
程序员:开发人员,按照设计人员的设计进行代码开发。
测试人员:对开发完成的软件进行各种测试,将出现问题的部分反馈给开发人员做修改。
运维人员:将软件部署到用户那里去用,通常是在晚上进行部署和维护,工作地点通常是在用户的服务器机房里(用户那里一出现问题,首先挨骂的就是运维人员)。
五、两种软件开发模型
(1)瀑布模型
可行性研究与计划----->可行性研究报告
需求分析----->需求说明书
设计----->设计文档
开发----->程序
测试----->测试报告
维护
由于用户需求经常多变,瀑布模型就很少再使用
(2)螺旋模型
可行性研究与计划----->需求分析----->设计----->开发----->测试----->维护
     |                                                                                                                 |  
      --------------------------------------------------------------------------------------
计划是可控的,项目经理可以制定各个时期的开发进程。
六、软件开发阶段
(1)可行性分析
a.技术可行性:能不能使用现有技术来实现这个需求。
b.经济可行性:这个项目接下来有没有钱可赚。
c.社会可行性(Don't be evil):软件不能违反法律,或危害社会秩序。
(2)需求分析
需求是产品的根源
需求工作的优劣对产品影响最大

医疗、物流、机关、政府的系统要遵循各种行业标准,要贴切他们的业务需求,这个时候我们就要分析到位。

(3)软件设计

(4)实现阶段

(5)测试阶段
测试人员是和开发人员经常进行PK,开发人员认为自己开发的程序越少bug越好,但是测试人员认为自己测试的程序发现越多错误,越能突出自己的能力,绩效越好。这就是开发与测试万年对立的原因。测试与开发出现分歧之后最好的办法就是找自己的上级进行调解。
(6)维护阶段
a.为客户提供故障诊断支持

b.应用程序要求的任何软件升级

转载请注明出处:
你可能感兴趣的文章
顺序表的静态建立
查看>>
Java反射(Reflection)获取运行时类的结构
查看>>
来美国一年半了,命里有时终须有,命里无时莫强求(2)
查看>>
swiper轮播图(逆向自动切换类似于无限循环)
查看>>
阿里云域名解析+网站备案
查看>>
转载文章 RESIZING WIN32 DIALOGS
查看>>
开发规范(一) 如何记录日志 By 阿里
查看>>
1117bootstrap
查看>>
centos6.5上卸载和安装JDK7
查看>>
从文件加载至NSData
查看>>
Java连接访问Oracle--Connection.setSavepoint()方法使用
查看>>
LeetCode OJ:Maximal Square(最大矩形)
查看>>
抽象工厂 C++实现
查看>>
[KMP]字符串匹配算法
查看>>
[转] 随机数是骗人的,.Net、Java、C为我作证
查看>>
第一天
查看>>
VUE基础插值表达式
查看>>
如何在mysql客户端即mysql提示符下执行操作系统命令
查看>>
人月神话读后感
查看>>
Learning Agile software Development
查看>>