软件设计应注意

316 阅读4分钟

「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战」。

高内聚低耦合

模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

 

软件设计

 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,它没有明显的制作过程;③软件在运行、使用期间不存在磨损、老化问题;④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。

 

 

    软件设计分为两步

 软件设计分为两步完成:概要设计与详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

软件危机:

在软件开发和维护过程中,软件危机主要表现在:

    ①软件需求的增长得不到满足。用户对系统不满意的情况经常发生。

    ②软件开发成本和进度无法控制。开发成本超出预算,开发周期大大超过规定日期的情况经常发生。

    ③软件质量难以保证。

    ④软件不可维护或维护程度非常低。

    ⑤软件的成本不断提高。

    ⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

    总之,可以将软件危机归结为成本、质量、生产率等问题。

数据库设计:

数据库设计的基本任务是根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式。需求收集和分析是数据库设计的第一阶段,数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。

黑盒测试

黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。

白盒测试:

软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

设计使用的工具

    详细设计使用的工具主要有:程序流程图,N-S图,PAD,HIPO。

    结构化分析的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等。

软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化分析工具。

数据字典

    数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。