软件工程期末复习7-软件设计

本文详述软件设计的基本概念,强调模块化、抽象、逐步求精和信息隐藏等原则。软件设计旨在将需求分析转化为可实现的设计模型,关注模块的独立性、内聚性和保护性。同时,探讨了数据库结构设计的三个阶段:概念结构、逻辑结构和物理结构,强调它们在构建数据库系统中的重要性。
摘要由CSDN通过智能技术生成

1. 软件设计的基本概念

需求分析,回答了软件系统能“做什么”的问题。软件设计,回答“怎么做”才能实现软件系统的问题分析模型转换成设计模型。
1.1 软件设计的意义和目标
1)设计必须实现所有包含在分析模型中的明确需求,而且必须满足用户期望的所有隐含需求。
2)对于程序员、测试人员和维护人员而言,设计必须是可读的、可理解的指南。
3)设计必须提供软件的全貌,从实现的角度说明数据域、功能域和行为域。
1.2 软件设计的原则
1.模块化
模块是数据说明、可执行语句等程序对象的集合,是构成程序的基本构件,可以被单独命名并通过名字来访问。
模块化就是把系统或程序划分为独立命名并且可以独立访问的模块,每个模块完成一个特定的子功能。模块集成起来可以构成一个整体,完成特定的功能,进而满足用户需求。
在模块化的过程中,要注意以下几点。
(1) 模块的规模要适中。
提高模块的独立性,降低模块间的耦合程度。
(3) 提高模块的内聚程度。
(4)加强模块的保护性。
2.抽象
高度归纳视角:人、事、物和规则组成。
3.逐步求精
逐步求精可定义为:“为 了能集中精力解决主要问题而尽量推迟对问题细节的考虑。“
4.信息隐藏
信息隐藏原理指出:设计一个模块,使得包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
5.复用性设计
软件复用是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
6.灵活性设计
软件在面对需求修改时的随机应变能力,可以体现在修改程序代码的工程量等方面。
抽象是软件设计的关键因素。设计模式、软件架构等可以用来实现更高抽象

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值