当前位置: 首页 > news >正文

郴州网站建设html5网页制作模板免费下载

郴州网站建设,html5网页制作模板免费下载,网站域名怎么改,网站建设依据文章目录 第19章 架构重要需求19.1 从需求文档中收集架构重要需求#xff08;ASRs#xff09;不要抱太大希望从需求文档中找出架构重要需求 19.2 通过访谈利益相关者收集架构重要需求19.3 通过理解业务目标收集架构重要需求19.4 在效用树中捕获架构重要需求19.5 变化总会发生… 文章目录 第19章 架构重要需求19.1 从需求文档中收集架构重要需求ASRs不要抱太大希望从需求文档中找出架构重要需求 19.2 通过访谈利益相关者收集架构重要需求19.3 通过理解业务目标收集架构重要需求19.4 在效用树中捕获架构重要需求19.5 变化总会发生19.6 小结19.7 扩展阅读19.8 问题讨论 第19章 架构重要需求 软件开发最重要的一个方面是明确你正在尝试构建的东西是什么。 —Bjarne Stroustrup, creator of C 架构的存在是为了构建满足需求的系统。这里的 “需求” 并不一定是指使用需求工程所能提供的最佳技术生成的一份有文档记录的目录。相反我们指的是这样一组特性如果你的系统不能满足这些特性那么这个系统就会失败。需求以与软件开发项目一样多的形式存在 —— 从精心编写的规范到主要利益相关者之间的口头共同理解真实的或想象的。你的项目需求实践的技术、经济和哲学依据超出了本书的范围。在本书范围内的是无论需求以何种方式被捕获它们都确立了成功或失败的标准而架构师需要了解这些标准。 对架构师来说并非所有需求都是同等重要的。有些需求对架构的影响比其他需求大得多。一个 “架构重要需求ASR” 是一个将对架构产生深远影响的需求 —— 也就是说如果没有这样的需求架构很可能会有很大的不同。 如果你不知道 ASR就不可能设计出一个成功的架构。ASR 通常但不总是以质量属性QA需求的形式出现 —— 即架构必须为系统提供的性能、安全性、可修改性、可用性、易用性等等。在 第 4 章 至 第 14 章 中我们介绍了实现质量属性的模式和策略。每次你在架构中选择一个模式或策略来使用时都是因为需要满足质量属性需求。质量属性需求越困难、越重要就越有可能对架构产生重大影响因此也就越有可能是一个 ASR。 架构师必须确定 ASR通常是在做了大量工作以发现候选 ASR 之后。有能力的架构师知道这一点。事实上当我们观察有经验的架构师履行他们的职责时我们会注意到他们做的第一件事就是开始与重要的利益相关者交谈。他们正在收集他们需要的信息以产生能够响应项目需求的架构 —— 无论这些信息之前是否已经被确定。 本章提供了一些系统的技术来确定 ASR 以及其他将塑造架构的因素。 19.1 从需求文档中收集架构重要需求ASRs 寻找候选架构重要需求的一个明显位置是在需求文档或用户故事中。毕竟我们正在寻找需求而需求应该嗯在需求文档中。不幸的是情况通常并非如此尽管需求文档中的信息肯定是有用的。 不要抱太大希望 许多项目不会创建或维护软件工程课程教授或传统软件工程书籍作者喜欢规定的那种需求文档。此外没有架构师会只是坐着等待需求 “完成” 后才开始工作。架构师必须在需求仍在变化时就开始工作。因此当架构师开始工作时质量属性需求很可能是不确定的。即使它们存在且稳定需求文档通常在两个方面让架构师失望 需求规格说明中找到的大部分信息不会影响架构。正如我们反复看到的架构主要由质量属性需求驱动或 “塑造”质量属性需求决定并约束最重要的架构决策。即便如此大多数需求规格说明的绝大部分内容都集中在系统所需的特性和功能上而这些对架构的影响最小。最佳的软件工程实践确实规定要捕获质量属性需求。例如软件工程知识体系SWEBOK指出质量属性需求与其他任何需求一样如果它们很重要就必须被捕获并且应该明确指定且可测试。 但在实践中我们很少看到对质量属性需求的充分捕获。你有多少次看到过 “系统应具有模块化” 或 “系统应具有高可用性” 或 “系统应满足用户的性能期望” 这样的需求这些都不是有用的需求因为它们不可测试它们不可证伪。但是从好的方面看它们可以被视为邀请架构师开始讨论这些领域的真正需求是什么。 即使是最好的需求文档中也找不到对架构师有用的很多内容。许多驱动架构的关注点根本不会在正在被指定的系统中作为可观察的事物显现出来因此也不是需求规格说明的主题。架构重要需求通常源自开发组织本身的业务目标我们将在 第 19.3 节 中探讨这种联系。开发质量也不在范围内例如你很少会看到描述团队合作假设的需求文档。在采购环境中需求文档代表采购方的利益而不是开发方的利益。利益相关者、技术环境和组织本身都在影响架构方面发挥作用。当我们在 第 20 章 中讨论架构设计时我们将更详细地探讨这些需求。 从需求文档中找出架构重要需求 虽然需求文档不能向架构师讲述完整的故事但它们仍然是架构重要需求的一个重要来源。当然架构重要需求不会被方便地标记出来架构师应该预期进行一些调查和挖掘工作以找出它们。 一些具体要寻找的信息类别如下 使用情况用户角色与系统模式、国际化、语言差异。时间方面及时性和元素协调。外部元素外部系统、协议、传感器或执行器设备、中间件。网络方面网络属性和配置包括其安全属性。编排方面处理步骤、信息流。安全属性用户角色、权限、认证。数据方面持久性和时效性。资源方面时间、并发性、内存占用、调度、多用户、多活动、设备、能源使用、软资源例如缓冲区、队列以及可扩展性需求。项目管理方面团队组建计划、技能组合、培训、团队协调。硬件选择方面处理器、处理器系列、处理器的演进。功能灵活性、可移植性、校准、配置。指定的技术、商业软件包。 任何关于它们计划或预期演进的已知信息也将是有用的信息。 这些类别不仅本身在架构上具有重要意义而且每一个的可能变化和演进也很可能在架构上具有重要意义。即使你正在挖掘的需求文档没有提到演进也要考虑前面列表中的哪些项目可能随时间而变化并相应地设计系统。 19.2 通过访谈利益相关者收集架构重要需求 假设你的项目没有生成一份全面的需求文档。或者也许有需求文档但在你需要开始设计工作的时候质量属性需求还没有确定下来。你该怎么办呢 首先利益相关者通常不知道他们的质量属性需求实际上是什么。在这种情况下架构师被要求帮助为系统设定质量属性需求。认识到这种合作需求并鼓励合作的项目比不这样做的项目更有可能成功。珍惜这个机会不断地纠缠你的利益相关者也不会突然让他们拥有必要的洞察力。如果你坚持要定量的质量属性需求你可能会得到一些随意的数字而且至少其中一些需求将很难满足最终实际上会减损系统的成功。 有经验的架构师通常对类似系统所表现出的质量属性响应有深刻的见解并且知道在当前情况下哪些质量属性响应是合理预期和可以提供的。架构师通常也可以快速反馈哪些质量属性响应容易实现哪些可能有问题甚至难以实现。 例如利益相关者可能要求 24/7 的可用性 —— 谁不想要呢然而架构师可以解释这个需求可能要花费多少成本这将给利益相关者提供信息以便在可用性和可负担性之间进行权衡。此外架构师是对话中唯一可以说 “我实际上可以交付一个比你想象中更好的架构 —— 这对你有用吗” 的人。 访谈相关利益相关者是了解他们所知道的和需要的最可靠方法。再次强调一个项目应该以系统、清晰和可重复的方式捕获这些关键信息。可以通过许多方法从利益相关者那里收集这些信息。其中一种方法是质量属性研讨会QAW如侧边栏中所述。 质量属性研讨会 质量属性研讨会QAW是一种在软件架构完成之前以促进者引导、以利益相关者为中心的方法用于生成、确定优先级并细化质量属性场景。它强调系统级别的关注点特别是软件在系统中将发挥的作用。QAW 非常依赖系统利益相关者的参与。 在介绍和概述研讨会步骤之后QAW 包括以下要素 业务 / 任务介绍代表系统背后业务关注点的利益相关者通常是经理或管理代表花费大约一小时介绍系统的业务背景、广泛的功能需求、约束和已知的质量属性需求。在后续步骤中将要细化的质量属性将主要从本步骤中介绍的业务 / 任务需求中得出。架构计划介绍虽然可能不存在详细的系统或软件架构但有可能已经创建了广泛的系统描述、上下文图或其他工件这些描述了系统的一些技术细节。在研讨会的这个时候架构师将介绍现有的系统架构计划。这让利益相关者了解现有的架构思路。确定架构驱动因素促进者将分享他们在前两个步骤中整理的关键架构驱动因素列表并请利益相关者进行澄清、添加、删除和更正。目的是就一份精简的架构驱动因素列表达成共识其中包括总体需求、业务驱动因素、约束和质量属性。场景头脑风暴每个利益相关者表达一个场景代表他们对系统的关注点。促进者通过指定明确的触发事件和响应来确保每个场景都解决了一个质量属性关注点。场景整合在场景头脑风暴之后在合理的情况下整合相似的场景。促进者要求利益相关者识别那些内容非常相似的场景。只要提出这些场景的人同意并且觉得他们的场景在这个过程中不会被淡化相似的场景就可以合并。场景优先级确定场景的优先级确定是通过给每个利益相关者分配一定数量的选票来完成的选票数量等于整合后生成的场景总数的 30%。利益相关者可以将他们的任何数量的选票分配给任何一个场景或场景组合。对选票进行计数并相应地确定场景的优先级。场景细化在确定优先级之后对最重要的场景进行细化和详细阐述。促进者帮助利益相关者将场景放入我们在 第 3 章 中描述的六部分场景形式即来源 - 触发事件 - 制品 - 环境 - 响应 - 响应度量。随着场景的细化围绕其满足的问题将会出现应该被记录下来。这个步骤持续的时间取决于时间和资源的允许。 利益相关者访谈的结果应包括一份架构驱动因素列表和一组由利益相关者作为一个群体确定优先级的质量属性场景。此信息可用于以下目的 细化系统和软件需求。理解并澄清系统的架构驱动因素。为架构师随后做出某些设计决策提供理由。指导原型和模拟的开发。影响架构开发的顺序。 我不知道那个需求应该是什么 在采访利益相关者并探寻架构重要需求时他们常常抱怨 “我不知道那个需求应该是什么”这种情况并不少见。虽然他们确实有这样的感受但他们通常也对这个需求有所了解特别是如果利益相关者在该领域有经验的话。在这种情况下引出他们的 “某些了解” 远比你自己凭空编造需求要好得多。例如你可以问“系统对这个交易请求应该多快做出响应” 如果回答是 “我不知道”我的建议是装糊涂。你可以说“那么……24 小时可以吗” 通常得到的回应是愤怒和惊讶的 “不”“那么1 小时怎么样”“不”“5 分钟呢”“不”“10 秒钟怎么样”“嗯嘟囔咕哝我想我可以接受类似这样的……” 通过装糊涂你常常可以让人们至少给你一个可接受的值的范围即使他们不知道需求的确切值应该是多少。而这个范围通常足以让你选择架构机制。对架构师来说24 小时、10 分钟、10 秒钟和 100 毫秒的响应时间意味着选择非常不同的架构方法。有了这些信息你现在就可以做出明智的设计决策了。 —RK 19.3 通过理解业务目标收集架构重要需求 业务目标是构建一个系统的存在理由。没有一个组织会毫无理由地构建一个系统相反参与其中的人希望推进他们的组织以及他们自己的使命和抱负。常见的业务目标当然包括盈利但大多数组织所关心的远不止盈利这一点。在其他一些组织中例如非营利组织、慈善机构、政府部门盈利是最不被考虑的事情。 业务目标对架构师来说很有意义因为它们常常直接导致架构重要需求。业务目标和架构之间有三种可能的关系 业务目标常常导致质量属性需求。每一个质量属性需求 —— 比如用户可见的响应时间、平台灵活性、坚如磐石的安全性或者其他十几种需求中的任何一种 —— 都源于某种更高的目的可以用附加值来描述。想要使一个产品与竞争对手区分开来并让开发组织占领市场份额的愿望可能会导致对看起来异常快速的响应时间的需求。此外了解一个特别严格的需求背后的业务目标能使架构师以有意义的方式质疑这个需求 —— 或者调集资源来满足它。业务目标可能影响架构而根本不产生质量属性需求。一位软件架构师告诉我们几年前他向他的经理提交了一份架构的早期草案。经理指出架构中缺少一个数据库。架构师很高兴经理注意到了这一点并解释了他架构师是如何设计出一种方法从而避免了使用庞大而昂贵的数据库的需求。然而经理坚持要求设计中包含一个数据库因为组织有一个数据库部门雇用了一些高薪的技术人员他们目前没有任务需要工作。没有任何需求规格说明会捕获这样的需求也没有任何经理会允许这样的动机被捕获。然而从经理的角度来看如果那个架构在没有数据库的情况下被交付就会像没有交付一个重要功能或质量属性一样有缺陷。业务目标对架构没有影响。并非所有的业务目标都会导致质量属性。例如“降低成本” 的业务目标可以通过在冬天降低设施的恒温器温度或者降低员工的工资或养老金来实现。 图 19.1 说明了本次讨论的主要观点。在图中箭头表示 “导致”。实线箭头突出了对架构师最有意义的关系。 图 19.1 一些业务目标可能会导致质量属性需求或者直接导致架构决策或者导致非架构性的解决方案。 架构师通常通过潜移默化的方式 —— 工作、倾听、交谈以及吸收组织中正在起作用的目标 —— 来了解组织的业务和业务目标。潜移默化并非没有好处但确定这些目标的更系统的方法既是可能的也是可取的。此外明确地捕获业务目标是值得的因为它们常常隐含着架构重要需求否则这些需求在发现时可能已经太晚或者解决成本太高。 一种实现这一目标的方法是采用 PALM 方法这需要架构师和关键业务利益相关者一起举办研讨会。PALM 的核心包括以下步骤 引出业务目标。使用本节后面给出的类别来引导讨论从利益相关者那里捕获这个系统的重要业务目标集合。详细阐述业务目标并将其表示为业务目标场景。1 合并几乎相同的业务目标以消除重复。让参与者确定所得集合的优先级以识别出最重要的目标。从业务目标中识别潜在的质量属性。对于每个重要的业务目标场景让参与者描述一个质量属性和响应度量值如果将其构建到系统中将有助于实现该目标。 在捕获业务目标的过程中准备一组候选业务目标作为谈话的起点会很有帮助。例如如果你知道许多企业都想获得市场份额你可以利用这种动机让组织中的合适利益相关者参与进来“对于这个产品我们在市场份额方面的雄心是什么架构如何能为实现这些目标做出贡献” 我们对业务目标的研究使我们采用了如下列表中所示的类别。这些类别可以作为头脑风暴和引出目标的辅助工具。通过使用类别列表并询问利益相关者每个类别中可能的业务目标可以获得一定程度的覆盖保证。 组织的成长和连续性实现财务目标实现个人目标对员工负责对社会负责对国家负责对股东负责管理市场地位改进业务流程管理产品的质量和声誉管理环境随时间的变化 19.4 在效用树中捕获架构重要需求 在一个完美的世界中19.2 节 和 19.3 节 中描述的技术会在你的开发过程早期就被应用你会采访关键利益相关者引出他们的业务目标和驱动架构的需求并让他们为你确定所有这些输入的优先级。当然遗憾的是现实世界并不完美。通常情况下由于组织或业务原因当你需要这些利益相关者时你却无法接触到他们。那么你该怎么办呢 当需求的 “主要来源” 不可用时架构师可以使用一种称为 “效用树” 的结构。效用树是一种自上而下的表示展示了你作为架构师认为对系统成功至关重要的与质量属性相关的架构重要需求。 效用树以 “效用” 一词作为根节点。效用是系统整体 “良好程度” 的一种表达。然后你通过列出系统需要展现的主要质量属性来详细阐述这个根节点。你可能还记得我们在 第 3 章 中说过质量属性名称本身并不是很有用。别担心 —— 它们只是作为后续阐述和细化的中间占位符被使用 在每个质量属性下记录该质量属性的具体细化内容。例如性能可以分解为 “数据延迟” 和 “事务吞吐量”或者也可以是 “用户等待时间” 和 “网页刷新时间”。你选择的细化内容应该是与你的系统相关的。在每个细化内容下你可以接着记录具体的架构重要需求以质量属性场景的形式表示。 一旦架构重要需求以场景的形式被记录下来并放置在树的叶子节点上你就可以根据两个标准来评估这些场景候选场景的业务价值和实现它的技术风险。你可以使用任何你喜欢的尺度但我们发现一个简单的 “H”高、“M”中和 “L”低评分系统对于每个标准来说就足够了。对于业务价值“高” 表示必须具备的需求“中” 表示重要但如果省略也不会导致项目失败的需求“低” 表示满足起来很好但不值得付出太多努力的需求。对于技术风险“高” 意味着满足这个架构重要需求会让你夜不能寐“中” 表示满足这个架构重要需求令人担忧但风险不高“低” 表示你有信心满足这个架构重要需求。 表 19.1 展示了一个医疗领域系统的效用树的一部分示例。每个架构重要需求都标有其业务价值和技术风险的指示。 表 19.1 医疗领域系统的效用树的表格形式 质量属性属性细化ASR 场景性能事务响应时间一个用户在系统处于峰值负载时响应地址变更通知来更新患者的账户并且该事务在不到 0.75 秒内完成。高业务价值高风险。吞吐量在峰值负载下系统每秒能够完成150个标准化事务。中价值中风险易用性熟练度训练有两年或以上业务经验的新员工经过一周的培训可以在不到 5 秒内执行该系统的任何核心功能。中价值低风险。运营效率一名医院收费员在与患者互动的同时为患者启动支付计划并在没有输入错误的情况下完成该流程。中价值中风险。可配置性数据可配置性一家医院提高了某项服务的费用。配置团队在一个工作日内完成变更并进行测试无需更改源代码。高价值低风险。可维护性例行更改一名维护人员遇到响应时间不足的问题修复了这个错误并发布了错误修复所花费的努力不超过 3 个人工日。高价值中风险。一项报告要求需要对生成报告的元数据进行更改。更改在 4 个人工时内完成并进行测试。中价值低风险。升级到商业组件数据库供应商发布了一个新的主要版本该版本在不到 3 个人周的时间内成功进行了测试和安装。高价值中风险。添加新功能一个追踪血库捐赠者的功能在 2 个人月内被创建并成功集成。中价值中风险。安全保密性物理治疗师被允许查看患者病历中与骨科治疗相关的部分但不能查看其他部分或任何财务信息。高价值中风险。抵御攻击系统抵御未经授权的入侵尝试并在 90 秒内向有关部门报告该尝试。高价值中风险。可用性无停机时间数据库供应商发布新软件该软件被热插拔到位没有停机时间。高价值中低风险。该系统支持患者全年无休24/7/365通过网络访问账户。中价值中风险。 一旦你填好了效用树就可以用它来进行重要的检查。例如 没有任何 ASR 场景的 QA质量属性或 QA 细化不一定是需要纠正的错误或遗漏而是表明你应该调查在那个区域是否存在未记录的 ASR 场景。获得高价值高风险评级的 ASR 场景显然是最值得你关注的这些是重要需求中最为重要的。大量这样的场景可能会让人担心这个系统实际上是否可实现。 19.5 变化总会发生 爱德华・贝拉尔说过“如果两者都被冻结那么在水面上行走和根据规格开发软件都很容易。” 本章中的任何内容都不应被认为这种神奇的情况有可能存在。需求无论是否被捕获一直在变化。架构师必须适应并跟上变化以确保他们的架构仍然是正确的能够为项目带来成功。在 第 25 章 中我们讨论架构能力时我们会建议架构师需要成为出色的沟通者这意味着要成为出色的双向沟通者既要接收信息也要提供信息。始终与确定 ASR 的关键利益相关者保持沟通渠道畅通这样你就可以跟上不断变化的需求。本章提供的方法可以重复应用以适应变化。 比跟上变化更好的是领先变化一步。如果你听到 ASR 即将发生变化的风声你可以采取初步措施进行针对该变化的设计作为理解其影响的练习。如果这个变化的成本高得令人望而却步与利益相关者分享这个信息将是一个有价值的贡献而且他们越早知道越好。更有价值的可能是提出一些在满足目标方面几乎同样有效的但又不会超出预算的变更建议。 19.6 小结 架构是由具有架构重要性的需求所驱动的。一个架构重要需求ASR必须具备 对架构有深远影响。包含这个需求很可能会导致与不包含它时不同的架构。具有高业务或任务价值。如果架构要满足这个需求可能以不满足其他需求为代价那么它对重要的利益相关者必须具有高价值。 架构重要需求可以从需求文档中提取可以在研讨会例如质量属性研讨会QAW期间从利益相关者那里捕获可以在效用树中从架构师那里捕获或者从业务目标中推导出来。将它们记录在一个地方是很有帮助的这样可以对列表进行审查、参考用于证明设计决策的合理性并在随着时间的推移或在重大系统变更的情况下重新审视。 在收集这些需求时你应该留意组织的业务目标。业务目标可以用一种常见的、结构化的形式表达并表示为业务目标场景。可以使用 PALM一种结构化的引导方法来引出并记录这些目标。 质量属性QA需求的一种有用表示是效用树。这样的图形描述有助于以结构化的形式捕获这些需求从粗略、抽象的质量属性概念开始逐渐细化到以场景的形式捕获它们。然后对这些场景进行优先级排序这个优先级集合作为架构师的 “行动指令”。 19.7 扩展阅读 可在opengroup.org/togaf/获取的开放组架构框架提供了一个完整的模板用于记录包含大量有用信息的业务场景。尽管我们认为架构师可以使用更轻量级的方法来捕获业务目标但它值得一看。 质量属性研讨会的权威参考资料是 [Barbacci 03]。 “架构重要需求” 这一术语是由软件架构审查与评估SARA小组创造的作为可在 http://pkruchten.wordpress.com/architecture/SARAv1.pdf 检索到的文档的一部分。 《软件工程知识体系》SWEBOK第三版可在此处下载computer.org/education/bodies-of-knowledge/software-engineering/v3。在我们付印之时第四版正在开发中。 关于 PALM 的完整描述 [Clements 10b] 可在此处找到https://resources.sei.cmu.edu/asset_files/TechnicalNote/2010_004_001_15179.pdf。 19.8 问题讨论 1. 采访你所在公司或大学正在使用的业务系统的具有代表性的利益相关者并为其确定至少三个业务目标。为此请使用 “扩展阅读” 部分中提到的 PALM 的七部分业务目标场景大纲。 2. 根据你在问题 1 中发现的业务目标提出一组相应的架构重要需求ASR。 3. 为自动取款机ATM创建一个效用树。如果你希望你的朋友和同事提供质量属性方面的考虑和场景可以采访他们。考虑至少四种不同的质量属性。确保你在叶节点创建的场景有明确的响应和响应度量。 4. 找到一个你认为高质量的软件需求规格说明。使用彩色笔如果文档是打印的就用真正的彩色笔如果文档是在线的就用虚拟的彩色笔将你认为与该系统的软件架构完全无关的所有内容涂成红色。将你认为可能相关但需要进一步讨论和阐述的所有内容涂成黄色。将你确定具有架构重要性的所有内容涂成绿色。当你完成后文档中除了空白部分之外的每一部分都应该是红色、黄色或绿色。你的文档最终每种颜色大约占多少百分比结果让你感到惊讶吗 业务目标场景是一种结构化的七部分表达式用于捕获业务目标在意图和用途上与质量属性场景类似。本章的“进一步阅读”部分包含一个参考资料它详细描述了 PALM 和业务目标场景。 ↩︎
http://www.dnsts.com.cn/news/131719.html

相关文章:

  • 在线相册jsp网站开发与设计二级域名发放免费
  • 做网站找哪家公司最好国外网址导航wordpress模版
  • 网站设计制作的服务和质量如何判断网站有cdn加速
  • 中山建网站网站功能模块设计
  • 网站服务公司哪个好二维码生成器永久免费版下载
  • 辽宁建设局网站首页搭建网站是什么意思
  • 做网站申请完空间后下一步干啥对网站设计的摘要
  • 赤壁市药监局网站建设方案wordpress首页截断
  • 能进封禁网站的浏览器注册咨询公司经营范围
  • 个人买卖网站怎么做阿里云官方网站 icp代备案管理系统
  • 网站的建设目标网站链接分享做推广
  • 祁县建设局网站jquery做的装修网站
  • 长沙企业网站用名字做头像是什么网站
  • 网站设计招标评标标准及办法建立网站的成本
  • 厦门外贸网站搭建沈阳高端网站设计
  • 国外h5分享网站wordpress加载慢 2017
  • 宁波网站建设信息网络推广和信息流优化一样么
  • wordpress站做外贸生意用哪个网站最好
  • 网络网站建东莞网站建设培训学校
  • 网站建设后期需要做什么私人做网站的流程
  • 东昌府聊城网站建设没有注册公司可以做网站吗
  • 企业网站优化解决方案用自己电脑做网站服务器-phpstudy+花生壳
  • 网站建设怎么提需求移动开发网站建设
  • 梧州网站优化价格企业网站如何做优化
  • 四川住房建设网站公司网站建设制作价格
  • 公司网站背景图片公司定制网站建设公司
  • 常德企业网站建设网站建设 域名
  • 南京马鞍山网站建设定制建设网站
  • 安徽茶叶网站建设手机网页制作软件
  • 尚海整装公司电话做网站优化推广的好处