软件工程基础知识

一、软件工程的关注点(特点)及主要解决思路(基本原理)
1、特点
(1)关注于大型的软件的构建
多人合作花费半年以上时间的软件称之为。。。
(2)中心课题:控制复杂度
业务逻辑很复杂
构件间的依赖和通信
不同开发人员间的沟通
–分解(各个可以独立的构架,沟通接口)–>多人合作开发
(3)软件经常变化-》关注变更控制的管理
(4)注重软件开发效率
a)变化的商业需求需要及时修改已有的软件
b)赶在竞争者之前开发出软件
c)社会对软件的需求超过了人力资源所能提供的限制
(5)关注团队间的合作(和谐的合作式开发软件的关键)
(6)软件必须有效的支持用户
研究用户,获得正确的功能需求,可用性,质量的要求(可靠性,响应的时间)
(7)软件工程师《–》特定领域的人员
2、7基本的原理(B.W. Beohm)
(1)用分段的生命周期计划严格管理。
问: 你觉得大部分软件失败的原因:不合理的进度安排
a)合理估算工作量
b)把软件生命周期划分为若干个阶段,并相应的指定出切实可行的计划,
然后严格按照计划对软件的开发和维护进行管理
(2)坚持进行阶段评审
a)大部分的软件错误发生在编码之前:设计错误63%,编码错误37%
b)发现更改错误越晚,代价越大
(3)严格的产品控制
开发过程中不建议你修改需求–>代价很多
开发过程中的需求变化是在所难免
—顺应需求变更的要求
(4)采用现代的程序设计技术
(5)结果应该清楚的被审查
(6)开发小组的人员应该少而精(10个)
a)高素质的人员&一般的工程师 几倍–几十倍
b)增加沟通成本

    5000人月   20倍      500人月  --->团队模式

(7)承认不断改进软件工程的必要性

二、软件生命周期
1、需求分析->软件设计->构建(编码+单元测试)->综合测试(集成&系统测试)->维护
(1)需求分析:
起始:软件需要解决什么问题,软件为哪些人服务,软件性质,软件的边界
–>可行性分析
获取:业务需求+功能需求+用户需求(用例)
细化:详细的用户场景
协商:
冲突
资源有限,用户要求很高
各个利益相关者的要求冲突了
规格说明书
促进一致的更易于理解的方式表达需求—》合同的一部分
确认
(2)软件设计:创建软件的模型:
体系机构:定义软件的主要结构化构件以及他们之间的关系
数据结构:设计类的实现以及软件实现所需要的数据
接口:软件与其他协助系统,软件与用户,各构件之间的通信
构件细节:
(3)构件
(4)综合测试
(5)维护:通过各种必要的维护活动使系统持久得满足用户的需求:
更正性维护/适应性维护/完善性的维护/预防性
三、软件过程(线路图)
1、过程:定义活动的时间,人员,工作内容和达到预期目标的途径
2、软件导论:软件过程:为了获得高质量的软件,所需要完成的一系列活动框架,
它规定了完成各项任务的工作步骤。
实践者的研究方法: 软件过程给定了工作产品构建时所执行的活动,动作和任务的
集合,描述了执行顺序和执行时间上如何组织这些活动,动作和任务集。
沟通–》 策划–》 --》建模 --》 编码 —》部署
(需求) (估算,计划)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值