当前位置:首页 > 软件设计 > 正文内容

读软件设计的要素04概念的联系

邻居的猫1个月前 (12-09)软件设计1479

1. 概念的联系

1.1. 概念是独立的,彼此间无须相互依靠

  • 1.1.1. 一个概念是应该独登时被了解、规划和完成的

  • 1.1.2. 独立性是概念的简略性和可重用性的要害

1.2. 软件存在依靠性

  • 1.2.1. 不是说一个概念需求依靠另一个概念才干正确运转

  • 1.2.2. 只有当一个概念存在时,包含另一个概念才有含义

1.3. 概念依靠联系图扼要归纳了软件的概念和概念存在的理由

  • 1.3.1. 概念依靠联系图有助于规划规划和结构软件的次序、辨认概念分组以及解说概念结构

1.4. 概念组合答应单个概念在相互联系中发挥特定的效果

1.5. 概念组合自身是对称的,因为同步的操作是相等的

  • 1.5.1. 概念组合能够引进不对称性,因为一个概念能够增强另一个概念的功用

2. 从概念到软件

2.1. 在大多数情况下,渐进式的开发会更好,因为这样开发人员能在前期就取得对其规划作业的反应,评价已布置部分的价值,并在发现问题时及时处理

  • 2.1.1. 渐进式开发并不是单纯地增加概念

  • 2.1.2. 无节制地增加概念或许导致优异产品的分裂

2.2. 树立概念清单

  • 2.2.1. 通用概念清单

  • 2.2.1.1. 运用通用的概念不只能够重用曾经软件中的规划常识,还有助于简化规划

3. 概念依靠联系图

3.1. 因为每个概念都是通用且独立的,所以在传统的软件工程含义上不存在概念间的依靠联系

3.2. 概念之间存在其他依靠性,这与概念自身无关,而与它们在整个软件中的效果有关

3.3. 一个概念的存在或许依靠其他好几个概念

  • 3.3.1. 将其中一个依靠联系符号为首要依靠(实线箭头)​,将其他依靠联系符号为非有必要依靠(虚线箭头)​

  • 3.3.2. 非有必要依靠标明一个概念不太重要的存在理由

  • 3.3.3. 没有用户概念意味着无法进行身份验证

  • 3.3.4. 没有投票概念意味着用户无法为答案做出奉献

  • 3.3.5. 没有录音概念意味着发问中的鸟鸣声有必要用文字描述,或许要链接至网络上的其他文件

3.4. 概念的任何子集都能够构成一个齐备的软件,只需不存在指向该子集的依靠方

  • 3.4.1. 产品线的每个齐备子集代表这些特定概念或许构建的软件

  • 3.4.2. 子集还能够标明软件开发的不同阶段

  • 3.4.3. 在开发的任何时刻点,你都期望具有一个齐备的子集,以便将其作为一个完好的单元进行评价

4. 概念的映射

4.1. 从底层概念到物理界面

4.2. 概念需求映射到详细的用户界面,将操作映射为单击按键等手势,并将概念状况映射到各种显现视图

4.3. 运用用户界面规划准则时,概念有助于聚集映射问题

4.4. 企图运用户界面比底层概念更简略或许会拔苗助长

4.5. 映射有必要考虑典型的运用方法

4.6. 用户界面虽然很具有表现力,但或许无法将全部变得明晰,界面中的工具包或许会约束映射规划

  • 4.6.1. 有时乃至需求在用户界面中增加清晰的注释

  • 4.6.2. 创立用户界面不只包含视觉的规划,它的实质是规划一种从底层概念到物理界面的映射

4.7. 人机交互研讨人员对映射的规划进行了广泛的研讨,他们拟定出的攻略首要适用于规划的物理层次和言语层次,这一攻略相同适用于经过概念规划的体系

4.8. 概念供给了时机以完善规划的概念层次与物理层次、言语层次的联系

5. 处理不置可否的操作

5.1. 运用调集概念的软件Zotero能够将论文的引文安排为调集

5.2. safari供给了书签的调集

5.3. Adobe Lightroom答运用户界说相片或电影的调集

5.4. 调集概念与文件夹概念的显着不同是,在调集概念中,一个项目能够归于多个调集

6. 概念了解性

6.1. 好用的概念常常能够重用

6.2. 一个好的规划师不只知道怎么创造新概念,而且知道什么时候无须创造新概念

  • 6.2.1. 假如你的意图能够经过一个现有概念来完成,那么你最好再次运用这个概念

6.3. 概念与其他任何创造相同

  • 6.3.1. 不同的是,概念供给了一种将软件规划的常识和经历变得简略且连接的办法,然后供给了更具细粒度的重用时机

6.4. 使规划可用的最简略的办法是运用了解的、现有的概念

  • 6.4.1. 运用用户充沛了解的概念能够下降规划不合理的概率,并使规划对用户来说愈加直观

6.5. 看起来瞬间迸发的创意实际上往往来自经年累月的经历培养出的洞察力

  • 6.5.1. 一个巨大的规划师会记住一系列规划,随时预备应对遇到的每一个新的规划问题

  • 6.5.2. 只有当规范计划不足以处理问题时,他才会寻求新的处理计划

6.6. 软件与任何其他规划范畴没有什么不同

  • 6.6.1. 运用曾经规划的经历教训,你首要需求能够将规划思维提取为可重复运用的要害点,这便是概念的意图

  • 6.6.2. 概念是特定规划问题的特定处理计划,它不是一个大而含糊的问题,而是一个个会在许多情况下重复呈现的小而清晰的需求

6.7. 创造一个新概念来完成一个现有概念能够完美完成的意图不只是糟蹋精力,还简略让现已了解现有概念的用户感到困惑

6.8. 当将概念映射到用户界面时,对十分规小部件的需求或许标明其基本概念自身便是冗杂和十分规的

7. 概念的重用

7.1. 概念的重用是十分广泛的,尤其是在Web软件中

7.2. 相同的概念或许以不同的方法呈现

  • 7.2.1. 聊天室概念变成了WhatsApp或Google Groups或Facebook中的小组概念以及IRC或Slack中的频道概念

  • 7.2.2. Twitter供给了一个将其规划与现有概念联系起来的很好的比如:重视概念

7.3. 在你创造一个新概念曾经,检查现有的概念,看看是否有一个概念满意你的需求

7.4. 请记住,你需求的概念或许来自一个十分异乎寻常的范畴

8. 防止创造新概念

8.1. 当规划师在重用现有概念与创造新概念之间做挑选时,最好挑选重用通用概念,除非确认现有概念不能有用完成意图

8.2. Keynote的行为大多简略且可猜测

  • 8.2.1. 他们没有从头开始规划,这也是苹果的组概念更直观的原因

8.3. 假如现有概念好像仅部分满意你的方针,相较于修正或扩展它,请探究它是否能够与另一个现有概念组合起来供给你需求的功用

9. 概念实例的一致性

9.1. 当规划中呈现的概念是了解的通用概念的实例时,它应该严格遵守通用概念的行为方法,除非有很好的理由不这样,而且它与通用概念的误差十分显着

9.2. 没有所谓的对与错,要害在于对概念的了解程度以及随之而来的预期

9.3. 预期是软件规划中有必要认真对待的强有力要素

9.4. 当概念的行为不行猜测且呈现不同种行为的或许性好像相一起,概念规划很或许是过错的

  • 9.4.1. 一个好的规划具有必定性的质量

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=328

分享给朋友:

“读软件设计的要素04概念的联系” 的相关文章

c是面向对象的语言吗,面向对象还是面向过程?

C语言本身不是一种面向对象的语言。它是一种过程式语言,主要用于编写系统软件、嵌入式软件和实时应用。C 是在C语言的基础上发展而来的,它添加了面向对象编程(OOP)的特性,如类、对象、继承、多态等。因此,如果你想要在C语言中使用面向对象编程,你需要使用C 或其他支持OOP的语言。C语言:面向对象还...

面向对象程序设计教程,入门与进阶

面向对象程序设计教程,入门与进阶

Python 面向对象编程1. CSDN博客 提供了详细的Python面向对象编程教程,包括类的详解和实战案例。 qwe22. 廖雪峰的官方网站 提供了Python面向对象编程的详细教程,适合入门和高级学习者。 3. B站视频 浙江大学的翁恺教授讲解了面向对象设计C ,适合对C...

软件设计师考试真题,掌握核心考点,提升应试能力

1. 2021年上半年软考软件设计师真题完整版: 可以在CSDN博客上找到2021年上半年软考软件设计师的真题,包括SQL相关的知识点。详细内容请参考。2. 2023年上半年软件设计师考试真题解析: 2023年上半年软件设计师考试真题尚未发布,但可以参考一些常见的考点和技巧。详细内容请参...

软件设计师证,开启软件设计职业生涯的钥匙

软件设计师证是中国计算机技术与软件专业技术资格(水平)考试(简称“软考”)中的一个中级考试。以下是关于软件设计师证考试、含金量及报名条件的详细信息: 软件设计师证考试1. 考试简介: 软件设计师考试属于全国计算机技术与软件专业技术资格考试(软考)的中级考试。通过考试的人员能够根据软件开发项目管...

Java设计模式, 观察者设计模式(Observer Pattern)

Java设计模式是面向对象编程领域中的一种指导原则,它提供了一种解决方案,用于解决在软件开发中经常遇到的问题。设计模式不是特定的代码实现,而是一套通用的解决方案,可以应用于不同的场景和问题。Java设计模式可以帮助开发者提高代码的可读性、可维护性和可扩展性。Java设计模式可以分为三大类:创建型模式...

微服务设计模式

微服务设计模式是一种软件开发方法,它将一个大型的应用程序拆分成多个独立的服务。每个服务都在自己的进程中运行,并与轻量级通信机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务功能构建,并且可以由全自动部署机制独立部署。这些服务可以使用不同的编程语言和数据存储技术,并保持最低限度的集中式式...