软件project之软件设计
英雄是随着历史的时代产生的。软工也不例外。软件project这一门学科主要是为了解决当代软件危机而诞生的, 学习软件project的视频过后,最终让我揭开了它的神奇面纱,让我对软工设计有了一个初步的认识。软工设计从大体上来说主要包含两大部分,概要设计和具体设计。以下我简单的介绍一下软件设计。
1.软件的组成及定义:
软件是计算机系统中与硬件相互依存的另一部分。是包含程序、 数据及其相关文档的完整集合。
当中,程序是按事先设计的功能和性能要求运行的指令序列。数据为进行通信、解释和处理而使用的信息的形式化表现形式。
文档是与程序开发、维护和使用有关的图文材料。
2.概要设计与具体设计:
概要设计知识确定模块和模块的层次。具体设计描写叙述算法,数据结构,接口。形象的来说概要设计是先改一个房子。具体设计是对房子进行装修。
3.图片
4.图解
(1).设计任务:划分元素。设计结构,编写文档。编写文档以及不断的阶段性审查是在整个过程中不断完好的。它有利于软件的开发和维护。
整体的设计步骤:制定并选择优秀的方案,然后依据方案设计结构,数据库,进行阶段性的測试与审查,最后形成有关文档。在设计阶段这里主要讲的是结构的设计,结构的设计方法包含变换分析和事物分析。
(2).变换分析PK实务分析
变换分析设计是一个顺序结构。由输入、变换和输出三部分组成。其工作过程有3步:取得数据、变换数据和给出数据。事务分析设计是将它的输入流分离成很多发散的数据流,形成很多加工路径。并依据输入的值选择当中一个路径来运行。
共同点:把数据流图转换成软件结构。
不同点:数据流图到软件结构的映射方法不同。变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。
(3)模块的独立性
在设计过程中我们不断的提高模块的独立性,模块的独立性是有模块化,抽象,还有信息独立共同组成的,它的评价标准是高内聚,低耦合,高扇入,低扇出。
在这方面我们还须要把握个“度”。不能一味的遵循这几个原则就忽略其总体结构的优化性了。
在软件的设计过程中我们为什么提高模块的独立性哪?由于独立的模块比較easy开发,測试。维护。
在整个软件生命周期中,软件的測试与维护工作投资比重非常大。
5 小结
有了优秀的软件设计过程,project人员在开发软件的时候才干不断满足客户的须要。才干不断的降低软件开发与维护的投入。
遵循软件开发过程,不断延长软件的生命周期。
软件project之软件设计的更多相关文章
- 【软件project】——软工视频总结
软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...
- 【软件project】菜鸟俯瞰软件project
[背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...
- 每一个人都懂得敏捷开发 (软件project), 为何产品开发的效率与质量还是这么的烂?
敏捷开发(软件project)是 "设计" 出来的.不是 "学" 来的-- 很多人都一直在质疑敏捷开发能否提高效率与质量? 更有不少人以嘲讽.不屑的口吻看待软件 ...
- 《软件project》课程报告 —国土资源执法监察管理信息系统建模
***********************************************声明*************************************************** ...
- 面向对象的软件project——面向对象分析
为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...
- 软件project(六)——需求分析
需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明: 我将 ...
- (UML总结三)UML与软件project
学习完UML.我们要把它和之前的软件project结合起来.软件project是从总体的角度说了软件开发的步骤.保证了所开发软件的质量.而UML作为一种统一建模语言.是用来设计软件蓝图的可视化建模语言 ...
- 什么是软件project?
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo ...
- Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结
Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...
随机推荐
- if判断语句
6)if判断语句 if ... then else end if; if ... then elsif ... then elsif ... then else ...
- ZJU 2676 Network Wars
Network Wars Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Original I ...
- [React] Unit test a React Render Prop component
In this lesson, I use Enzyme and Jest to unit test a Counter Render Prop component. Writing integrat ...
- 认识一下Kotlin语言,Android平台的Swift
今天在CSDN首页偶然看到一个贴子JetBrains正式公布Kotlin 1.0:JVM和Android上更好用的语言 看完后,感觉Kotlin语法非常简洁,有一系列动态语言的特点,Lambda表达式 ...
- Android集成一个新产品时,lunch的product name和device name注意事项
Android系统lunch一个当前的Product大概流程包括下面几个部分: 1. lunch确定TARGET_PRODUCT.一般位于vendor/device/build/target/prod ...
- node--20 moogose demo2
db.js /** * Created by Danny on 2015/9/28 16:44. */ //引包 var mongoose = require('mongoose'); //创建数据库 ...
- js中callback执行
<!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...
- zzulioj--1716--毒(模拟水题)
1716: 毒 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 96 Solved: 43 SubmitStatusWeb Board Desc ...
- webpack的像素转vw loader插件
这是一款针对webpack的像素转vw单位的loader插件. 笔者公司中,h5 rem的开发方案目前已经渐渐开始转向vw方案,因此本工具应运而生. 目前所制作的h5,大部分设计稿分辨率都是750的宽 ...
- .NET框架详解
.NET框架的战略目标 .NET框架的战略目标是在任何时候(When),任何地方(Where),使用任何工具(What)都能通过.NET的服务获得网络上的任何信息,享受网络带给人们的便捷和快乐! .N ...