【成为架构师课程系列】系统架构设计:非功能性目标的设计

9da4a06930ab9f7878ec51abddf5c29f.png

前言

为了提高综合客户满意度及不同质量属性的满意度,必须考虑计划和设计产品时的不同质量属性。

 -- Stephen H.Kan,《软件质量工程》

质量属性很难定义,但它们经常可以区分产品是只完成了其应该完成的任务呢,还是使客户感到满意。......优秀的软件产品反映了这些竞争性质量属性的优化平衡。

 -- Karl E.Wiegers, 《软件需求(第二版)》

软件行业发展到今天,依然比较年轻。一个有趣的印证就是我们经常拿自己的行业和其他行业类比 -- 今天类比建筑行业,明天类比汽车行业,后台类比拍电影。

我并不能确定把架构师和哪个职业相类比最适合,但或许,架构师最嫉妒的职业是拳击。人家的目标永远正确:打到对方。而架构师,却要面对纠结在一起的“需求”--需求不是一个攻击目标,而是一堆攻击目标,而是一堆可能不够明确、相互矛盾的目标。昨天、今天、甚至明天,都会有相同的故事在上演:笼统界定的“非功能目标”让软件工程师深感困惑......

这就是现状。

在这种状态之下,架构师不应“坐等”明确的需求,而是应该运用目标-场景-决策表等方法主动出击,设计成更有针对性的架构。

作为决策者,架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15879.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【企业架构设计实战】0 企业数字化转型和升级:架构设计方法与实践

企业架构整体结构 图例:企业架构整体结构 企业架构整体结构从战略层、规划层、落地层这三层来分别对应企业架构中 业务、架构和实施的各种重要活动和产出。 业务架构,数据架构,应用架构和技术架构之间的内在逻辑联系: 图例:企业架构整体方法论 企业架构的驱动力 在当前的数…

oracle的(QA)—— ChatGPT基础篇

ChatGPT问与答 Q:现在假设你是Oracle系统,我输入指令,请你输出指令好吗 A:当然,我可以输出您输入的指令的执行结果或错误信息。请告诉我您想执行的指令是什么。 Q:show databases A:您好,执行show databases指令可以列出当前O…

清华造了个游戏公司!十余个ChatGPT上岗,7分钟开发一款游戏

来源 | 量子位 | 公众号 QbitAI 清华用ChatGPT打造了个「零人工含量」的「游戏公司」,从老板到员工都是AI的那种! 只要你提出想法,从设计到测试的完整流程,都由AI帮忙搞定。 整个过程走下来,只要七分钟就能完成&…

【企业架构设计实战】企业架构方法论

图:甘泉大峡谷 企业架构方法论概述 什么是方法论? 百度百科对方法论的定义:方法论,就是关于人们认识世界、改造世界的方法的理论。 方法论,即“方法”+“论”。 首先,它是解决某种问题领域的方法的方法,这个方法更加体系化、全面化,并且有足够的通用性和普适性,如前文…

OpenAI总裁Brockman丨从AI门外汉到影响全世界,难以复刻的创业,值得借鉴的人生...

今天,OpenAI总裁兼董事长Greg Brockman等人官方发文称,OpenAI正式发布ChatGPT API,允许开发者将该技术集成到他们的应用程序中。Greg Brockman是OpenAI团队的杰出代表。在成为OpenAI的CTO之前,他原本对AI和机器学习知之甚少。学生…

解释大语言模型:在 Alpaca 中识别因果机制;因果语言建模和条件生成模型的区别

解释大语言模型:在 Alpaca 中识别因果机制 task_typeTaskType.CAUSAL_LM 表示将模型配置为因果语言模型(Causal Language Modeling) 因果语言建模(Causal Language Modeling,简称CLM)和条件生成&#xff…

使用 LangChain 和 Elasticsearch 的隐私优先 AI 搜索

作者:Dave Erickson 在过去的几个周末里,我一直在 “即时工程” 的迷人世界中度过,并了解像 Elasticsearch 这样的矢量数据库如何通过充当长期记忆和语义知识存储来增强像 ChatGPT 这样的大型语言模型 (LLM)。 然而,让我和许多其他…

Python人工智能——是否要取代前端!

前言 随着最近ChatGPT的大火,Al又一次的成为了人们热烈讨论的话题,这一次能否改变未来,现在还不得而知。 AI也就是人工智能,更多的是基于一个机器训练和学习的过程,人类的学习和训练是有局限的,高速运算的…

ChatGPT API 比 GPT-3.5 便宜 10 倍

AI 社区今天发布了一条重大新闻。OpenAI终于宣布为其广受欢迎的对话式 AI ChatGPT发布API。 什么是聊天 GPT? ChatGPT 是 OpenAI 开发的大型语言模型(LLM)。它可以理解、处理和响应类人语言。它具有在几秒钟内写诗、撰写论文和撰写研究论文的…

谷歌版 ChatGPT 首秀就翻车...

来源:机器之心 原文:https://mp.weixin.qq.com/s/1mkAlJbtYCmQcz_mV9cdoA 现在看来,拼第一枪,微软赢了。 如今的谷歌,有点秦失其鹿的味道。 在微软更新 ChatGPT 加持的必应搜索之后,大家都极为关注谷歌 Bar…

ChatGPT翻车?其安全性再次引起深度思考

近来,以ChatGPT为例的人工智能进展地如火如荼。一方面,ChatGPT具有较强的跨语际适用性,一定程度上促成了逆全球化浪潮中不同国家的重新连接;另一方面,ChatGPT展现出的“无所不知”式超级百科全书特征,重塑了…

chatgpt赋能python:Python怎么不换行输入

Python怎么不换行输入 Python作为一种简单易学的编程语言已经得到了广泛应用,同时也在不断发展和完善。在实际的编程过程中,有时候我们需要输入多行代码或数据,但是默认情况下Python解释器会自动换行,这会影响到我们的代码格式和…

chatgpt赋能python:Python想换行怎么办?

Python想换行怎么办? 在Python编程中,我们经常需要用到换行,但是Python的换行并不像其他语言那样简单,需要使用一些特殊的方法。本文将介绍Python中换行的几种方法。 1. 在字符串中使用\n 在Python中,我们可以在字符…

chatgpt赋能python:Python中如何输出换行符\n

Python中如何输出换行符\n 如果你是一个Python开发者,你可能已经熟悉了多个输出Python变量的方法。但是,当你需要输出换行符’\n’时,你可能会遇到一些问题。这篇文章将介绍在Python中输出换行符的几种方法,并且告诉你哪种方法是…

chatgpt赋能python:Python去除换行符\n的方法

Python去除换行符\n的方法 如果您在使用Python处理文本数据时,经常遇到换行符\n的问题,那么本文将为您介绍几种Python去除换行符\n的方法,并为您提供实际案例。这些方法包括使用replace、strip、split和正则表达式等,让您可以更加…

chatgpt赋能python:Python怎么不换行输出

Python怎么不换行输出 在Python中,我们经常需要用到不换行输出的技巧。本文将介绍几种方法来实现Python的不换行输出,并探讨其应用场景。 方法一:使用end参数 在Python中,print()函数默认在输出完文本后会自动换行,…

chatgpt赋能python:Python中如何删除换行符?

Python中如何删除换行符? 在Python编程中,处理文本时经常需要删除文本中的换行符。这些换行符在程序中不会有用,但会影响文本的格式并可能影响程序在文本上的操作。Python提供了很多方法来处理这个问题,我们来看看其中一些方法。…

chatgpt赋能python:Python怎么取出换行的数据?

Python怎么取出换行的数据? 在数据分析和处理中,我们常常需要从文件中读取数据,特别是当数据量很大时更是如此。在Python中,读取文本文件中的数据很简单,但是有时候读取的文本文件中可能含有换行符,这可能…

chatgpt赋能python:Python断行:如何优雅地换行?

Python断行:如何优雅地换行? 简介 Python是一种直观、易于学习、优雅且精简的编程语言。但是,随着代码复杂度的增加,长行代码也变得越来越难以阅读。所以,如何正确地断行是编写整洁Python代码的关键之一。 为什么需…

chatgpt赋能python:Python将空格改为换行符

Python将空格改为换行符 在Python编程中,经常需要对字符串进行处理,其中包括将空格替换为换行符。这篇文章将会介绍如何使用Python来实现这个目标,并分享一些关于字符串处理的技巧。 为什么要将空格改为换行符 将空格改为换行符可以让文本…