1、软件工程
1)软件工程是一项建模活动;
2)软件工程是解决问题的活动;
3)软件工程是知识获取的活动;
4)软件工程是受软件工程原理指导的活动;
解决模型 -------------> 根据模型进行资源的预算和提交项目的最后期限的限制。 ------------> 妥善的处理收集来的数据,将所有收集来的数据转化为信息。 这个过程不是线性的,必须一步到位,因为一个多余的数据就能让整个项目无效。------------------>在之前的过程中,工程师还需要捕捉决策的环境以及这些决策背后的原理;表示为一组问题模型的软件工程原理信息,使得软件工程师能够在重审一个决策的时候,能够理解某种变动的含义。
一、建模
建模的目的:描述和理解复杂的系统。
主要体系-+自然体系:理解自然及其子系统(生物物理化学)
|
+社会体系:理解人类(包括心理学社会学)
还有一种系统称之为人工系统。例如,电脑的操作系统如 12306,又称之为人工科学。
建模分为两种,第一种是现实世界系统,通过一系列可观察的系统。第二种是应用域模型,表达为一组相互依存的概念。
软件工程,需要理解一个系统的运行环境和规则,例如:列车交通控制系统,工程师需要了解列车信号规则。 股票交易系统,需要了解交易规则,当然,工程师不需要成为一个完全内行的列车调度员或者股票经纪人,只需要了解与系统相关的应用域的概念。换句话说,软件工程师需要构造一个应用域模型,其次软件工程师需要了解他们所能构建的系统,能评价不同的解决方案和其他的可置换方案。
由于许多系统复杂,任何人都无法全部理解,而许多系统在构建的时候都是十分昂贵的,为了了解这些问题和挑战,软件工程师描述了他们所需要研究的一些可选的系统的某些重要的地方。
面向对象的方法,将应用域和解答域的建模运动合二为一,采取一组对象和关系。
问题的求解:
软件工程是一个问题求解的活动。在有限的资源和只是不完备的条件下,通过尝试和失败。用五步来表示使用工程活动的方法:
1、明确问题 ---------》获取需求?
2、分析问题 ----------》对需求进行分析?
3、寻找问题的解决方案 ---------》系统设计
4、选定合适的解决方案 ----------》
5、详细说明解决方案。
软件工程是一种工程活动,不仅限制于算法。
软件工程还需要 --------》》》试验、设计模式的复用、对系统的增量进行评估 ----------》》》》 最终找到一个客户能够接受的方案
面向对象软工开发的过程。 6条(通常)
1、需求获取
2、需求分析
3、系统设计
4、对象设计
5、实现
6、测试
在开发过程中,需求的获取和分析对应着工程活动方法中的明确问题和分析问题。
在系统设计过程中,通过分析问题使大问题转变成小问题,并且选择一些通用的策略设计系统。在对象涉及过程中,也许会逐步的出现多种策划方案,这时候需要进行择优,选取最适合的方案,并且是为每一个小问题找到一个最合适的解决方案。
系统设计,对象设计两者用来产生解答域模型。这两项设计分别对应着开发过程中过程方法的第3、4步。