• 关于软件系统的一些问题总结


    关于软件系统的一些问题总结:
    一个软件都有哪些部分?
    首先,我们说软件的时候意味着什么,一个软件是解决某一类的问题的,也就是软件解决是一个有确定范围的问题域的;
    那么不同的问题,解法是不一样的,涉及的方面和技术也不一样,对涉及的方面和采用的技术的深度也是不一样的;
    我们不说软件解决的问题,我们现在要说下软件涉及到的方面:
    一:先说说存储
    1.存储:包括内存,非内存(磁盘等等,表现形式在操作系统上抽象有文件形式等);
    2.存储的转移:存储从一台机器到另外的一台机器,如何转移,为什么要转移;
    3.交叉存储:内容有一部分存储在内存,有一部分存储在非内存,为什么这么做,怎么实现,策略是什么,效果怎样?
    二:说说存储的内容
    1.数据量:小数据量怎么存储,大数据量怎么存储?
    2.编解码:数据如何编解码,为什么要编解码?
    3.大数据量:涉及到备份(备份是一大块,备份的方式,备份的思路等等),恢复,分片(数据分布倾斜的问题),一致性,事务性等等
    三:说说计算
    1.单机计算:单核,多核,多进程,多线程,并行,并发,为什么要这么做,这么做真的一定效果好吗?或者说怎么做才能更合理,更有效?
    2.多机计算:分布式,非分布式,有什么区别?怎么实现?
    四:说说网络
    网络环境:牵涉局域网,互联网,网络协议(公用协议,私有(自定义)协议),网络问题的诊断,基于网络不可靠的设计思想和理念,网络模型(分布式,P2P,集中式等等)

    总结:软件就是将问题进行拆分,映射到计算机的计算,存储,网络,然后这三者之间进行协作,形成一个具备解决问题的系统;

  • 相关阅读:
    centos/7下安装mysql5.7
    ubuntu下用vagrant搭建集群环境
    ubuntu下pyspark的安装
    Ubuntu下teamviewer的安装
    volatile(一)
    synchronized(九)
    synchronized(八)
    synchronized(七)
    synchronized(六)
    synchronized(五)
  • 原文地址:https://www.cnblogs.com/big1987/p/10885873.html
Copyright © 2020-2023  润新知