文档状态:编辑....
[WIKI]
原理:是存在于某个系统中的一组法律、规则与基本前提。这个体系中的其他事物,大体上都可以经由这个基本规律来推导、解释与预测;这个体系中的成员,都应该遵守这个基本规律,在这套规则下运作。经由了解这个体系的原理,可以了解到整个体系的基本特征,或是反映出这个体系被设计的目的。如果这个体系下的某个原理被忽略,可能造成体系无法运作,或是这个行为将无法达成其目的。 在哲学、数学及物理学中,都常使用这个名词。在数学中,以公理(Axiom)及逻辑基础作为整个数学体系的原理。
[BaiDu]
原理:自然科学和社会科学中具有普遍意义的基本规律。是在大量观察、实践的基础上,经过归纳、概括而得出的。既能指导实践,又必须经受实践的检验。
软件工程分为软件和工程 什么是软件? 软件开发有什么特性? 什么是软件工程? 为什么要建立软件工程学科? 既然引入软件工程去解决问题 那么它的目标是什么? 为了实现这些目标它有什么原理支撑?
践行软件工程基本原理的第一条
按软件生存周期分阶段指定计划并认真实施
括号内代表任务
软件定义(任务:做什么)
任务细化:到底解决什么问题,不要把你的计算机牵扯进来,钱和时间都给了限制能不能在这种情况下开发出来,需要职员:软件分析员,一个软件行不行,要从好多角度看,在大学编程,看起来就像基础技术是否具备,课设截止时间是否能够做出来?但是在社会上仍需要考虑法律,宗教(在对方是穆斯林餐厅的话,你带入猪肉,那就玩完了),还有用户是否具有学会操作的本领()等等,任务细化:我的系统应该干什么?建立起从问题空间到解空间的映射,看个人的建模能力了,这里需要建立分析模型,从功能数据行为等方面去描述系统的静态特性和动态特性,对目标系统进一步细化,当然软件工程会给你提供参考软件开发(任务:怎么做)
设计是软件工程的技术核心任务细化:如何做出目标系统,这里具体做的就是将需求转化为相应的软件体系结构,结构中的每一组成部分都必须是意义明确的构件,这就是概要设计。进而描述构建应该做什么,以及做事的顺序这就是详细设计,基于设计编写出单元测试计划和集成测试计划提交评审部门。选择一门好的语言会事半功倍单元模块测试,调试排错,保持与设计一致,与编码出现迭代已测试模块组装需求检测是否满足用户需求维护(任务:使软件持久的满足用户需要)
最浪费人力物力
分两个方面,软件本身与设计者