问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

系统分析:软件产品设计的方法论

发布网友 发布时间:2023-04-12 13:48

我来回答

1个回答

热心网友 时间:2023-10-03 13:05

“我认为计算机科学至关重要的是保持‘计算’的趣味性,在她刚刚兴起的时候,它的确非常有趣。当然,用户也常常为之买单;过了一段时间,我们开始认真的对待客户的抱怨,于是我们认为自己应该为计算机成功地,无错地完美运行负责。我却不这么想。我认为我们应该努力的是延伸计算机的功能,让它们有新的发展方向,让我们的屋子充满趣味。”------契约式设计之父:Bertrand Meyer
  置身于软件行业的人们都要努力寻找一个难以把握的平衡点:产品足够的好,以至于它不会在诸如评估等阶段就被否定掉,同时也不追求十全十美,精雕细凿,否则会因为时间和金钱的因素无法达到预期目标。

  构建大型的,让人满意的系统的方法是不要持续地复杂化,必须保持对复杂化的控制力。

  禁止对对象字段进行直接的存取,转而必须在对完成这项工作的简单过程的封装基础上进行。对象技术中的动态绑定机制完全能够提供人们想要的,比重载更好的灵活性。

  正在构建大型系统的人,天天面对的中心议题是:如何剔除不必要的,人为的,自找的复杂性,并控制好剩下的,无可避免的复杂性。

  复杂性可以分成两类:必然的复杂性,它要求我们必须通过优化组织,分析隐藏信息和模块化等手段找到办法来解决;另一类是人为的复杂性,我们应该通过简化要解决的问题来消除之。

  设计协同工作的组件:

  * 更多的注意力放在整个库的架构上,而不是某个组成部分的设计。

  * 如何设计一个库才能让它协调一至,它的众多象一个难题所包含的各方面因素的可变元素怎样才能协调工作。

  契约式设计:

  * 主要目的是尽可能准确的规定软件元素彼此通讯时的彼此的义务和权利,从而有效的组织通讯,进而帮助我们构造出更好的软件。

  * 我们就将商业中的契约概念应用的软件系统中。

   * 前置条件是客户端的义务,业务规则的描述。

  * 后置条件是服务端的义务,功能的具体处理流程;

  * 类不变式是一种刻画类和类实例的基本的一致性和完整性的方法;

  * 依据这些概念,在你开发软件的时候,不要仅仅注意实现的具体化,也应该按照契约规定的方式提供一些更加抽象的功能-----可以从几个方面大大的增加你软件开发的经验。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 软件开发中系统分析阶段产生的文档是 基金从业资格考哪些题型 基金法律法规科目有多少道题 基金从业考试科目一题量是多少 基金从业资格考试单科题量是多少 基金从业资格考试题目有多少 被弄成自如业主了咋办 衣食住行是什么意思?近义词和反义词是什么? 天然气发动机热效率 二十岁男孩在农村小县城学点什么好养家糊口? 电脑如何跳过更新直接关机 螺纹盘圆钢筋的最新价格是多少 8盘圆和盘螺哪个贵 盘圆厂家推荐及报价 水和冰相同的特征是什么?不同的特征是什么? 驷景的解释驷景的解释是什么 驷景的网络解释驷景的网络解释是什么 颓垣的诗句颓垣的诗句是什么 专利使用费增值税计算公式 专利实质转化率怎么算 三国鼎立形成在公元多少年? 三国时期是从什么时候到什么时候啊? 安德海VS李莲英,安德海和李莲英的师傅是谁? 慈禧在哪个太监娶妻时,赏赐了绸缎一百匹和一千两白银? 扫地的词语扫地的词语是什么 衰索的网络解释衰索的网络解释是什么 向日葵怎么养在花瓶 “九张机”有关问题 建筑预算师证需要什么条件 调_的结构调_的结构是什么 点瑟的结构点瑟的结构是什么 瑟歌的结构瑟歌的结构是什么 张瑟的结构张瑟的结构是什么 诜诲的解释诜诲的解释是什么 诜枝的解释诜枝的解释是什么 填反义词:()面()心 沁园春长沙评课用语优缺点 减轻压力的玩具有哪些? 拆可以压的像烤鱼的解压玩具里拆那个叫什么?那个云朵彩虹里面粉 解压玩具真的能解压吗年轻人有哪些新的解压方式