zoukankan      html  css  js  c++  java
  • 关于软件系统的一些问题总结

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

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

  • 相关阅读:
    算法竞赛入门经典习题2-3 韩信点兵
    ios入门之c语言篇——基本函数——5——素数判断
    ios入门之c语言篇——基本函数——4——数值交换函数
    144. Binary Tree Preorder Traversal
    143. Reorder List
    142. Linked List Cycle II
    139. Word Break
    138. Copy List with Random Pointer
    137. Single Number II
    135. Candy
  • 原文地址:https://www.cnblogs.com/big1987/p/10885873.html
Copyright © 2011-2022 走看看