热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

【复习笔记】软件工程概论复习(2)

设计工程抽象过程抽象数据抽象架构(体系结构)为系统提供概念上完整性的方式程序构件的结构或组织+和构件的交互形式+构件所用的数据结构

设计工程

抽象

  • 过程抽象
  • 数据抽象

架构(体系结构)

  • 为系统提供概念上完整性的方式
  • 程序构件的结构或组织+和构件的交互形式+构件所用的数据结构

(设计)模式

已证实的解决方案集

逐步求精(refinement)

  • 自顶向下的设计策略
  • 通过连续精化层次结构的程序细节来实现程序的开发

模块化

  • 将软件划分为独立命名的、可寻址的构件,被称为模块,把这些模块集成到一起满足问题的需求
  • 避免过低或过高的模块化,应该遵循以下原则:
    • 使软件开发更容易;
    • 可以定义和交付软件增量;
    • 更容易实施变更;
    • 更有效地开展测试和调试

信息隐藏

  • 每个模块对其他所有模块都隐藏 自己的设计决策。

功能独立

  • 是模块化、抽象概念和信息隐藏的直接结果。
  • 开发具有专一功能且避免与其他模块过多交互的模块实现功能独立

重构

不改变代码的外部行为的情况下改进其内部结构的过程。

架构(体系结构)设计

为何进行体系结构设计?

  • 有助于软件产品的共同利益者相互交流
  • 体系结构突出了早期设计决策。
  • 体系结构构建了一个相对小的,易于理解的模型,描述了系统如何构成以及其构件如何一起工作

体系结构风格(style)

  • 以数据为中心的体系结构
  • 数据流体系结构
  • 调用和返回体系结构
  • 面向对象的体系结构
  • 层次体系结构

推荐阅读
  • Scrapy:强大的Python爬虫框架
    Scrapy是一个基于Python的高效网页爬取框架,利用Twisted异步网络库实现高效的网络通信。其架构设计精巧,包括核心组件如引擎、调度器、下载器等,旨在简化大规模数据抓取过程。 ... [详细]
  • Linux网络安装指南
    本文详细介绍了如何通过网络安装Linux操作系统,包括必要的服务配置和常见问题解决方法,旨在帮助IT专业人士提高系统部署效率。 ... [详细]
  • 本文探讨了当前技术发展趋势,特别是大数据和人工智能如何推动工业互联网的发展。文章分析了全球主要国家在工业互联网领域的进展,并展望了未来工业互联网技术的发展方向。 ... [详细]
  • 本文探讨了随着并发需求的增长,MySQL数据库架构如何从简单的单一实例发展到复杂的分布式系统,以及每一步演进背后的原理和技术解决方案。 ... [详细]
  • Java Servlet中获取客户端IP与MAC地址的方法
    本文介绍了一种在Java Servlet应用中获取客户端IP地址及MAC地址的技术实现方法,通过示例代码详细解析了获取过程中的关键步骤和技术点。 ... [详细]
  • 热璞数据库与云宏达成兼容性互认证,共筑数据安全屏障
    热璞数据库与云宏信息技术有限公司近期宣布完成产品兼容性互认证,旨在提升数据安全性与稳定性,支持企业数字化转型。 ... [详细]
  • Python基础教程:struct模块与格式化字符详解
    本文详细介绍了Python中struct模块的功能,以及如何利用格式化字符实现Python与C语言结构体之间的数据转换。文章通过具体实例讲解了struct模块的主要方法及其应用场景。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 多智能体深度强化学习中的分布式奖励估计
    本文探讨了在多智能体系统中应用分布式奖励估计技术,以解决由于环境和代理互动引起的奖励不确定性问题。通过设计多动作分支奖励估计和策略加权奖励聚合方法,本研究旨在提高多智能体强化学习(MARL)的有效性和稳定性。 ... [详细]
  • 前文|功能型_品读鸿蒙HDF架构
    前文|功能型_品读鸿蒙HDF架构 ... [详细]
  • 计算机架构基础 —— 冯·诺依曼模型
    本文探讨了计算机科学的基础——冯·诺依曼体系结构,介绍了其核心概念、发展历程及面临的挑战。内容涵盖早期计算机的发展、图灵机的概念、穿孔卡的应用、香农定理的重要性以及冯·诺依曼体系结构的具体实现与当前存在的瓶颈。 ... [详细]
  • Redis并发控制与集群管理
    本文探讨了在高并发场景下使用Redis进行并发控制的方法,以及如何通过Redis集群和可视化工具提升系统的稳定性和可维护性。 ... [详细]
  • Apache IoTDB:开源工业物联网数据库的崛起
    2020年9月23日,全球领先的开源软件基金会——Apache软件基金会宣布,Apache IoTDB正式成为其顶级项目。Apache IoTDB是一款专为大规模物联网和工业物联网设计的开源数据库。 ... [详细]
  • Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
    go,通过,map,filter,foreach,等,流,式,ap ... [详细]
  • API网关作为微服务架构中的关键组件,扮演着系统与外部世界交互的唯一接口角色。它不仅封装了系统的内部复杂性,还为不同客户端提供了个性化的API接口。本文将探讨API网关的重要性及其核心功能。 ... [详细]
author-avatar
林君滨__
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有