1. 程式人生 > >基於《河北省重大技術需求征集系統》的可用性和可修改性戰術分析

基於《河北省重大技術需求征集系統》的可用性和可修改性戰術分析

目標 物理 方案 原來 用戶 設計 mil 可用 討論

  1. 架構在軟件發明時的N多年以前,就已經存在了,這個詞最早是跟隨著建築出現的。
  2. 架構的定義:體系架構包含建築的過程和規劃,產品設計,以及建築和其他物理結構。
  3. 架構的產生:最開始的產生,是在原始生活中通過每個人完成不同的分工,以使得使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的事情,並具備一定的交易能力即可。形成社會架構。
  4. 重新定義架構:把一個整體(完成人類生存的所有工作)切分成不同的部分(分工),由不同角色來完成這些分工,並通過建立不同部分相互溝通的機制,使得這些部分能夠有機的結合為一個整體,並完成這個整體所需要的所有活動,這就是架構。
  5. 架構產生的動力:必須由人執行,每個人的能力有限,時間有限,人對目標系統有更高的要求,目標系統的復雜性。
    當這5個條件同時成立,一定會產生架構。從這個層面上來說,架構是人類發展過程中,由懵懵懂懂的,被動的去認識這個世界,變成主動的去認識,並以更高的效率去改造這個世界的方法。(建築的例子,原始社會分工的例子
  6. 再次定義架構:根據要解決的問題,對目標系統的邊界進行界定並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或串行開展工作,一般並行才能減少時間並對這些切分出來的部分,設立溝通機制使得這些部分之間能夠進行有機的聯系,合並組裝成為一個整體,完成目標系統的所有工作
  7. 架構實際上就是指人們根據自己對世界的認識,為解決某個問題,主動地、有目的地去識別問題,並進行分解、合並,解決這個問題的實踐活動
    。(分久必合,合久必分

架構漫談(二)認識概念

架構實際上解決的是人的問題

  1. 概念,古時稱之為名相。相實際上代表的是這個作用,並不是具體的某個東西,而名是用來標識這個作用的,用來交流的。
  2. 概念實際上所解決的,還是人遇到的某個特定的問題,我們把解決問題的解決方案,給定了一個名字,這個名字就是對應的某個特定概念。
  3. 抽象與概念的區別:抽象是把不同的概念的相似的部分合並在一起,形成一個新的概念。形成的新概念與原來的概念並不一樣,所解決的問題也不一樣。所以我們不能用抽象來定義一個事物,抽象實際上是一個分類的過程,完全是另一碼事
  4. 概念與架構的關系:要做好架構所首先必須具備的能力,就是能夠正確的認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所需要解決的問題,這樣才能夠為做好架構打好基礎

架構漫談(三)架構之識別

  1. 識別問題:所有的概念基本都有一個很大的問題,就是缺乏主語。所以識別問題的一個最大的前提就是要搞清楚:是誰的問題。這個搞清楚了,問題的邊界也就跟著確定了,再去討論問題才有意義。煮土豆
  2. 作為軟件工程師或者架構師,我們大部分時候是要去解決別人的問題,“別人”是誰,是值得好好思考的。找出問題的主體,是做架構的首要問題。這也是我一再強調的,我們要解決的問題,一定都是人的問題。更進一步,架構師要解決的,基本都是別人的問題,不是自己的問題。再進一步,我們一定要明白,任何找上架構師的問題,絕對都不是真正的問題。為什麽呢? 因為如果是真正的問題的話,提問題過來的人肯定都能夠自己解決了,不需要找架構師。架構師都要有這個自覺:發現問題永遠都比解決問題來的更加重要。
  3. 識別用戶究竟是二傳手,還是問題的真正主體。(錘子)問題的主體對問題的邊界確定有多麽的重要。
  4. 正確認識問題:這是誰的問題?有什麽問題。

基於《河北省重大技術需求征集系統》的可用性和可修改性戰術分析