英雄是随着历史的时代产生的。软工也不例外。软件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. webpack操作基础

    webpack 是一个前端加载/打包工具,根据模块的依赖关系进行静态分析,并依根据规则生成对应的静态资源

  2. linux环境下删除包含特殊字符的文件或目录

    linux环境下删除包含特殊字符的文件或目录 ls -liUse find command as follows to delete the file if the file has inode nu ...

  3. 【codeforces 738E】Subordinates

    [题目链接]:http://codeforces.com/problemset/problem/738/E [题意] 给你一个类似树形的关系; 然后告诉你某个人头顶上有多少个上司numi; 只有fat ...

  4. POJ 1306

    其实求的这个数的式子化简一下,就是C(N,M)..... #include <iostream> #include <algorithm> #include <cstdi ...

  5. JBoss AS 7之文件夹结构(The Return Of The King)

    1.2 JBoss As 7体系结构 以下介绍一下JBoss的体系结构,详细的文件夹结构. 假设熟悉曾经JBoss版本号的人,一定会发现JBoss AS 7与之前的JBoss的文件夹结构有了非常大的不 ...

  6. 嵌入式外部中断控制编程方法论—比較CC2541(51核)和S5PV210(ARM核)

    这是一篇阐述怎样对嵌入式SOC外部中断进行控制编程的方法论文章.希望读者理解本篇文章后.能够具备对市场上全部已经面世和将来面世的嵌入式芯片的外部中断进行控制编程的能力. 笔者原创的技术分享一直都恪守下 ...

  7. android官网被封掉了,仅仅好用这个站点进谷歌了!嘎嘎

         http://developer.android.com/sdk/index.html    这个能够进去.可是必须是搜狐 .360,uc都不用特意FQ     http://173.1 ...

  8. moveToThread的根本目的还是为了处理QObject的事件循环(如果为空指针的话,当前对象的所有的事件都不处理了),看官方说明就知道了

    Changes the thread affinity for this object and its children. The object cannot be moved if it has a ...

  9. iOS7实现带文本输入框的UIAlertView及获取TextField文本内容

    if (customAlertView==nil) { customAlertView = [[UIAlertView alloc] initWithTitle:@"自定义服务器地址&quo ...

  10. ARIMA模型实例讲解——网络流量预测可以使用啊

    ARIMA模型实例讲解:时间序列预测需要多少历史数据? from:https://www.leiphone.com/news/201704/6zgOPEjmlvMpfvaB.html   雷锋网按:本 ...