英雄是随着历史的时代产生的。软工也不例外。软件project这一门学科主要是为了解决当代软件危机而诞生的, 学习软件project的视频过后,最终让我揭开了它的神奇面纱,让我对软工设计有了一个初步的认识。软工设计从大体上来说主要包含两大部分,概要设计和具体设计。以下我简单的介绍一下软件设计。

1.软件的组成及定义:

软件是计算机系统中与硬件相互依存的另一部分。是包含程序、 数据及其相关文档的完整集合。

当中,程序是按事先设计的功能和性能要求运行的指令序列。数据为进行通信、解释和处理而使用的信息的形式化表现形式。

文档是与程序开发、维护和使用有关的图文材料。

2.概要设计与具体设计:

概要设计知识确定模块和模块的层次。具体设计描写叙述算法,数据结构,接口。形象的来说概要设计是先改一个房子。具体设计是对房子进行装修。

3.图片

4.图解

(1).设计任务:划分元素。设计结构,编写文档。编写文档以及不断的阶段性审查是在整个过程中不断完好的。它有利于软件的开发和维护。

整体的设计步骤:制定并选择优秀的方案,然后依据方案设计结构,数据库,进行阶段性的測试与审查,最后形成有关文档。在设计阶段这里主要讲的是结构的设计,结构的设计方法包含变换分析和事物分析。

(2).变换分析PK实务分析

变换分析设计是一个顺序结构。由输入、变换和输出三部分组成。其工作过程有3步:取得数据、变换数据和给出数据。事务分析设计是将它的输入流分离成很多发散的数据流,形成很多加工路径。并依据输入的值选择当中一个路径来运行。

共同点:把数据流图转换成软件结构。

不同点:数据流图到软件结构的映射方法不同。变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。

(3)模块的独立性

在设计过程中我们不断的提高模块的独立性,模块的独立性是有模块化,抽象,还有信息独立共同组成的,它的评价标准是高内聚,低耦合,高扇入,低扇出。

在这方面我们还须要把握个“度”。不能一味的遵循这几个原则就忽略其总体结构的优化性了。

在软件的设计过程中我们为什么提高模块的独立性哪?由于独立的模块比較easy开发,測试。维护。

在整个软件生命周期中,软件的測试与维护工作投资比重非常大。

5 小结

有了优秀的软件设计过程,project人员在开发软件的时候才干不断满足客户的须要。才干不断的降低软件开发与维护的投入。

遵循软件开发过程,不断延长软件的生命周期。

软件project之软件设计的更多相关文章

  1. 【软件project】——软工视频总结

    软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...

  2. 【软件project】菜鸟俯瞰软件project

    [背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...

  3. 每一个人都懂得敏捷开发 (软件project), 为何产品开发的效率与质量还是这么的烂?

    敏捷开发(软件project)是 "设计" 出来的.不是 "学" 来的-- 很多人都一直在质疑敏捷开发能否提高效率与质量? 更有不少人以嘲讽.不屑的口吻看待软件 ...

  4. 《软件project》课程报告 —国土资源执法监察管理信息系统建模

    ***********************************************声明*************************************************** ...

  5. 面向对象的软件project——面向对象分析

    为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...

  6. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  7. (UML总结三)UML与软件project

    学习完UML.我们要把它和之前的软件project结合起来.软件project是从总体的角度说了软件开发的步骤.保证了所开发软件的质量.而UML作为一种统一建模语言.是用来设计软件蓝图的可视化建模语言 ...

  8. 什么是软件project?

    Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo ...

  9. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结

    Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...

随机推荐

  1. fetch 如何请求数据

    fetch 如何请求数据 在 传统Ajax 时代,进行 API 等网络请求都是通过XMLHttpRequest或者封装后的框架进行网络请求,然而配置和调用方式非常混乱,对于刚入门的新手并不友好 二 与 ...

  2. 监控SQLserver计数器

  3. b.WHERE使用中多行子查询(适用于in,any,all条件)

    b.多行子查询(适用于in,any,all条件)   //查询与SCOTT和MARTIN在同一个部门的同事的编号和名称   select empno,ename   from emp   where ...

  4. CSS学习(五)

    导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单. 导航栏=链接列表 作为标准的HTML基础一个导航栏是必须的.在我们的例子中我们将建立一个 ...

  5. Linux进程的内存布局

    这张图很好,注意其中最上面是高位地址,虽然很多个0,但是c开头的,不要看反了: 更具体的可以看这里: A.正文段.这是由cpu执行的机器指令部分.通常,正文段是可共享的,所以即使是经常执行的程序(如文 ...

  6. HDU 1131

    N个节点的不同的树的数目.这样 随便取一个节点作为根,那么他左边和右边的儿子节点个数就确定了,假定根节点标号为x,那么左子树的标号就从1到x-1,共x-1个,右子树的标号就从x+1到n,共n-x个,那 ...

  7. shell文本过滤编程(一):grep和正則表達式

    [版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] Linux系统中有非常多文件,比方配置文件.日志文件.用户文件等 ...

  8. Android BLE与终端通信(三)——client与服务端通信过程以及实现数据通信

    Android BLE与终端通信(三)--client与服务端通信过程以及实现数据通信 前面的终究仅仅是小知识点.上不了台面,也仅仅能算是起到一个科普的作用.而同步到实际的开发上去,今天就来延续前两篇 ...

  9. 測试jbpm6.2使用的基础类

    方便了解jbpm6.2功能我们能够建立一个測试项目,在当中构建一个測试基础类,详细过程例如以下所看到的. 在集成了插件org.drools.updatesite-6.2.0.Final.zip的ecl ...

  10. oracle实现自增id

    --oracle实现自增id --创建一张T_StudentInfo表 create table T_StudentInfo ( "id" integer not null pri ...