软考高级-软件系统架构师-02-软件工程(重点)

用工程化的思想做软件

一、软件开发方法(/原则)

  1. 软件开发方法(重点)

    1. 结构化法(面向过程/函数) C

      1. 概念
        1. 用户至上
        2. 严格区分工作阶段,每个阶段有各自的任务和成果
        3. 强调系统开发的整体性和全局性
        4. 系统开发工程化,文档标准化
        5. 自顶向下,逐步分解(求精)
      2. 缺点
        1. 写死,不灵活,修改起来困难;
        2. 而需求是不断变化的,因此出现了面向对象
    2. 原型法 特殊

      1. 需求分析阶段,适用于需求不明确的开发
      2. 做一个原型化的界面呈现给客户,让客户有直观感受并反馈提出自己的详细需求,避免完成后再返工
      3. 包括 抛弃型原型、进化型原型
    3. 面向对象 C++、Java

      1. 复用性好
      2. 建立一个全面、统一、合理的模型
      3. 分析、设计、实现三个阶段没有明确的界限(做前一个阶段时,一并将后一阶段的一部分做完;而结构化方法每一个阶段做完并且评审后才开始下一个阶段,界限很明确)。
    4. 面向服务 (颗粒度比对象大)

      1. SO方法 三个抽象层级
        1. 操作,传统函数、方法。(抽象类)
        2. 服务(模块)
        3. 业务流程,由服务协作完成。(应用程序)
      2. SOAD 三个层次
        1. 基础设计层(底层服务件)
        2. 应用结构层(服务之间的接口和服务级协定)
        3. 业务组织层(业务流程建模和服务流程编排)
      3. 服务建模 三阶段
        1. 服务发现(做什么)
        2. 服务规约(做的过程中遵循的规则约定、参数)
        3. 服务实现(做出来)
  2. 软件开发模型(重点)

    1. 瀑布模型(结构化方法产物,适用于需求明确项目)一阶阶下来像瀑布流水,每个阶段需要进行需求评审,如果评审阶段或者下一阶段发现本阶段有问题不符合要求,需要回退(红色箭头)进行修改。

      1. 定义阶段
        1. 软件计划
        2. 需求分析(论文)
          1. 缺点 不适合需求不明确的项目,因为需求分析一旦错误,所有阶段都错了,再迭代时间、人力成本太高,且失败概率大于九成。
          2. 优化 加一个原型给客户,经过几轮修改反馈得到明确的项目;如果还不明确或者客户喜欢创新,从以下两方面解决
            1. 项目管理,不要制定总价合同,写明迭代的责任方和成本利润
            2. 选择原型模型
          3. 演化出其他模型
            1. 和原型模型演化出
              1. 增量模型
              2. 螺旋模型
      2. 开发阶段
        1. 软件设计
### 高级系统架构师论文试方法 高级系统架构师的论文部分主要生的实际应用能力以及对复杂问题的理解和解决能力。根据以往的经验,论文题目通常围绕当前热门技术和传统领域展开[^3]。例如,在近几年的试中,可能会涉及到云原生、无服务架构、区块链等新兴技术的应用场景分析。除此之外,传统的主题如软件系统架构设计(包括架构评估、微服务架构)、信息系统规划与集成、软件性能优化等方面也占据重要比例。 #### 论文答题技巧 1. **审题清晰**:在作答前仔细阅读题目要求,明确所要讨论的核心内容及其背景意义。对于涉及具体技术实现的问题,则需结合实际案例阐述解决方案的设计思路和技术选型依据。 2. **逻辑严谨**:文章结构应条理分明,建议采用总分总的布局方式——先概述整体观点或方案概览;接着分别论述各个子模块的功能定位及相互关系;最后总结全文并强调该设计方案的优势所在。 3. **理论联系实践**:除了展示扎实的专业功底外,还应该体现出较强的实战经验积累。可以通过列举真实项目的成功经验和失败教训来增强说服力。 4. **注重细节描述**:针对某些关键技术点给予充分解释说明,比如当提到分布式事务处理机制时,不仅要指出其实现原理,还要进一步探讨可能遇到的风险挑战以及相应的规避措施[^2]。 --- ### 备策略 为了有效应对高级系统架构师中的论文环节,可以从以下几个方面着手准备: #### 基础知识巩固 - 掌握计算机硬软件及网络方面的基础知识; - 熟悉信息系统开发生命周期各阶段的任务目标及相关活动流程; - 学习常见信息技术标准规范,特别是那些被广泛应用于企业级系统的标准协议; - 对主流中间产品有所了解,并能够根据不同业务需求推荐合适的选择。 #### 技术深度挖掘 深入研究现代软件工程领域的热点话题,例如但不限于: - 微服务体系架构下的服务拆分原则和服务治理框架; - 容器编排工具Kubernetes的工作机理及其生态组构成; - 数据库高可用集群部署模式对比分析; - AI算法模型训练平台搭建指南等等[^3]。 以下是关于Python脚本的一个简单例子用于自动化测试环境配置: ```python import os def setup_test_env(): """设置测试环境""" try: # 创建必要的目录结构 os.makedirs('logs', exist_ok=True) # 初始化数据库连接池参数文 with open('db_config.ini', 'w') as f: f.write('[DEFAULT]\nhost=localhost\nport=3306') print("Test environment set up successfully.") except Exception as e: print(f"Error occurred during test env setup: {e}") if __name__ == "__main__": setup_test_env() ``` 此代码片段展示了如何利用Python快速构建一个基础版的测试环境初始化程序,这可以作为面试或者笔试过程中展现个人编程技能的一部分实例之一。 #### 实战演练提升 定期参与模拟试练习,选取历年真题进行针对性复习。注意收集整理优秀范文样本加以模仿学习,逐步形成自己独特的写作风格。同时也要善于归纳总结各类典型错误以便日后避免重复犯错[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值