OO97


軟體技術未來之發展趨勢
軟體學術界能幫什麼忙?
有價值的問題在哪裡?
有價值的 Research 問題在哪裡?
我們能幫得上忙嗎?
Characteristics of software team members
Coding Productivity may not be the KEY !
實際的管理現實
軟體技術未來之發展趨勢
軟體學術界能幫什麼忙?
有價值的問題在哪裡?
有價值的 Research 問題在哪裡?
我們能幫得上忙嗎?
Characteristics of software team members
Coding Productivity may not be the KEY !
實際的管理現實
What is the solution?

軟體技術未來之發展趨勢
  • 維也納大學的Mehdi Zazayeri強調Software Component Technology 的重要性,他的分析如下:
  • ─ 電腦技術之發展

    • 發展速度越來越快
    • 新技術: Internet,多媒體等
    • 新的應用領域: Internet Commerce,娛樂,教育…等
    • 愈來愈複雜
  • ─ 軟體技術之發展

    • 程式語言的發展:Fortran,C,C++,Java
    • 豐富的Paradigm:Interactive,Object-Oriented,Mobile,Agent
    • 新技術:Fuzzy Logic,Wizards,Data Mining …等
  • ─ 未來的軟體需求

    • 新的應用引導新軟體需求
    • 現有用應程式需應用新的軟體技術重整
    • 軟體零件的觀念將會是關鍵技術之一
  • ─ 軟體零件之成功要件

    • 標準介面
    • 標準元件
    • 軟體發展程序必須及早考慮使用軟體元件之可能
    軟體技術未來之發展趨勢
    • 維也納大學的Mehdi Zazayeri強調Software Component Technology 的重要性,他的分析如下:
  • ─ 電腦技術之發展

    • 發展速度越來越快
    • 新技術: Internet,多媒體等
    • 新的應用領域: Internet Commerce,娛樂,教育…等
    • 愈來愈複雜
  • ─ 軟體技術之發展

    • 程式語言的發展:Fortran,C,C++,Java
    • 豐富的Paradigm:Interactive,Object-Oriented,Mobile,Agent
    • 新技術:Fuzzy Logic,Wizards,Data Mining …等
  • ─ 未來的軟體需求

    • 新的應用引導新軟體需求
    • 現有用應程式需應用新的軟體技術重整
    • 軟體零件的觀念將會是關鍵技術之一
  • ─ 軟體零件之成功要件

    • 標準介面
    • 標準元件
    • 軟體發展程序必須及早考慮使用軟體元件之可能
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  trend.htm,  Thu Apr 26 21:11:41 CST 2001
    軟體學術界能幫什麼忙?

    ☉ 軟體人員的培育

    ☉ 先進的研究 ???

    軟體學術界能幫什麼忙?

    ☉ 軟體人員的培育

    ☉ 先進的研究 ???

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  contrib.htm,  Thu Apr 26 21:11:43 CST 2001
    有價值的問題在哪裡?

    ☉ 問題之分類

  • ─ 工業界與學術界都解決不了的問題

  • ─ 工業界不需要,而學術界自認為工業界需要的

  • ─ 工業界自認不需要,而學術界認為工業界需要的

      • Y2K Problem
  • ─ 工業界自己能解決,而學術界也幫得上忙的問題

      • OO Technology, Class Library
  • ─ 工業界自己能解決的問題,而學術界越幫越忙的問題

      • Software Process, Software Factory
  • 工業界需要,而自己做不好,而且學術界可能可以幫忙的問題!

    有價值的問題在哪裡?

    ☉ 問題之分類

  • ─ 工業界與學術界都解決不了的問題

  • ─ 工業界不需要,而學術界自認為工業界需要的

  • ─ 工業界自認不需要,而學術界認為工業界需要的

      • Y2K Problem
  • ─ 工業界自己能解決,而學術界也幫得上忙的問題

      • OO Technology, Class Library
  • ─ 工業界自己能解決的問題,而學術界越幫越忙的問題

      • Software Process, Software Factory
  • 工業界需要,而自己做不好,而且學術界可能可以幫忙的問題!

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  classify.htm,  Thu Apr 26 21:11:45 CST 2001
    有價值的 Research 問題在哪裡?

    ☉ CS-Related Software

  • ─ problems that need CS Domain Knolwedge?

  • No!

    • Microsoft, Oracle, etc.

    ☉ NonCS-Related Problems

  • ─ Problems that Need Non-CS Domain Knolwedge?

  • Yes!!

    • Where Software, Engineering Software, etc.

    ☉ Why ?

    • Many Non-CS software engineers
    • Many Old software engineers who were inproper trained 20 or 30 years ago
    有價值的 Research 問題在哪裡?

    ☉ CS-Related Software

  • ─ problems that need CS Domain Knolwedge?

  • No!

    • Microsoft, Oracle, etc.

    ☉ NonCS-Related Problems

  • ─ Problems that Need Non-CS Domain Knolwedge?

  • Yes!!

    • Where Software, Engineering Software, etc.

    ☉ Why ?

    • Many Non-CS software engineers
    • Many Old software engineers who were inproper trained 20 or 30 years ago
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  where.htm,  Thu Apr 26 21:11:47 CST 2001
    我們能幫得上忙嗎?

    ☉ 現在的軟體工程學術研究能幫得上忙嗎?

  • ─ 大部份學術的軟體工程研究 都沒有針對問題的實際要點作研究 !!

  • ─ 在學術界的研究人員應到實際的軟體開發公司中去實際參與, 了解問題之所在,再帶回學術界作研究。

  • ─ 做軟體工程研究的教授最好常常親自寫程式,有機會最好 多寫大程式

    我們能幫得上忙嗎?

    ☉ 現在的軟體工程學術研究能幫得上忙嗎?

  • ─ 大部份學術的軟體工程研究 都沒有針對問題的實際要點作研究 !!

  • ─ 在學術界的研究人員應到實際的軟體開發公司中去實際參與, 了解問題之所在,再帶回學術界作研究。

  • ─ 做軟體工程研究的教授最好常常親自寫程式,有機會最好 多寫大程式

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  canwe.htm,  Thu Apr 26 21:11:49 CST 2001
    Characteristics of software team members
  • ─ Slow in learning new technologies

  • ─ Tied up at the jobs using outdated technologies

  • Human Being are imperfect!!!

    • Resist to change
    • Try EVERY way to keep the job
    • Severe Orgnaizational Politics
  • ─ CS Technical people are second class citizen

    • glass ceiling
    • first to cut
  • ─ Managers are most domain experts, not software engineers

    • 外行管理內行 ?? (誰是內行?誰是外行?)
  • ─ Good CS Technical people don't listen to users

    Characteristics of software team members
  • ─ Slow in learning new technologies

  • ─ Tied up at the jobs using outdated technologies

  • Human Being are imperfect!!!

    • Resist to change
    • Try EVERY way to keep the job
    • Severe Orgnaizational Politics
  • ─ CS Technical people are second class citizen

    • glass ceiling
    • first to cut
  • ─ Managers are most domain experts, not software engineers

    • 外行管理內行 ?? (誰是內行?誰是外行?)
  • ─ Good CS Technical people don't listen to users

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  personal.htm,  Thu Apr 26 21:11:51 CST 2001
    Coding Productivity may not be the KEY !
    • 很多大型軟體的設計過程,有冗長的設計工作, 其重點並非程式設計, 而程式設計只是實現系統設計的工具而已。
    • AT&T(現Lucent) 製作5ESS系統軟體的生產力只有 260行程式(每人每年),run 一個 make 要花費 五、六十萬美元。 大部份的工作都在做系統設計與協調,因此軟體 工程所能解決的問題實在有限。
    • 軟體設計必須考慮到程式設計人員也是平常人, 不是聖人,難免有七情六慾,組織間的勾心鬥角, 權術權謀才是真正的問題所在。軟體工程 研究不能假設程式設計人員都是聖人。

    ! Hire the best software people !

  • ─ 一個好的程式設計師比得過十個平凡的設計師

  • ─ 一個壞的程式設計師可以毀掉一個 project

    Coding Productivity may not be the KEY !
    • 很多大型軟體的設計過程,有冗長的設計工作, 其重點並非程式設計, 而程式設計只是實現系統設計的工具而已。
    • AT&T(現Lucent) 製作5ESS系統軟體的生產力只有 260行程式(每人每年),run 一個 make 要花費 五、六十萬美元。 大部份的工作都在做系統設計與協調,因此軟體 工程所能解決的問題實在有限。
    • 軟體設計必須考慮到程式設計人員也是平常人, 不是聖人,難免有七情六慾,組織間的勾心鬥角, 權術權謀才是真正的問題所在。軟體工程 研究不能假設程式設計人員都是聖人。

    ! Hire the best software people !

  • ─ 一個好的程式設計師比得過十個平凡的設計師

  • ─ 一個壞的程式設計師可以毀掉一個 project

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  coding.htm,  Thu Apr 26 21:11:53 CST 2001
    實際的管理現實

    ☉ 許多軟體工程理論忽略現實的管理環境

  • ─ 例: Process Model

    • 由於管理上的不便,很多理論界所輕視的 Waterfall Model 其實在管理上是最好用的管理模式,組織內的每個人的權責非常清楚,
    • 其他模式非常不易管理,實際上不可行。
  • ─ 例: Time to the Market (Deadline) vs. Software Quality

  • ─ 例: How to measure productivity?

    • Functional point? How do you count functions?
    • 誰去把鈴鐺掛在惡貓頸上?
    • How to credit software reuse?
    • Managers are domain experts, not software engineers !
    • They don't know how to measure real productivity.
    實際的管理現實

    ☉ 許多軟體工程理論忽略現實的管理環境

  • ─ 例: Process Model

    • 由於管理上的不便,很多理論界所輕視的 Waterfall Model 其實在管理上是最好用的管理模式,組織內的每個人的權責非常清楚,
    • 其他模式非常不易管理,實際上不可行。
  • ─ 例: Time to the Market (Deadline) vs. Software Quality

  • ─ 例: How to measure productivity?

    • Functional point? How do you count functions?
    • 誰去把鈴鐺掛在惡貓頸上?
    • How to credit software reuse?
    • Managers are domain experts, not software engineers !
    • They don't know how to measure real productivity.
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  manage.htm,  Thu Apr 26 21:11:54 CST 2001
    軟體技術未來之發展趨勢
    • 維也納大學的Mehdi Zazayeri強調Software Component Technology 的重要性,他的分析如下:
  • ─ 電腦技術之發展

    • 發展速度越來越快
    • 新技術: Internet,多媒體等
    • 新的應用領域: Internet Commerce,娛樂,教育…等
    • 愈來愈複雜
  • ─ 軟體技術之發展

    • 程式語言的發展:Fortran,C,C++,Java
    • 豐富的Paradigm:Interactive,Object-Oriented,Mobile,Agent
    • 新技術:Fuzzy Logic,Wizards,Data Mining …等
  • ─ 未來的軟體需求

    • 新的應用引導新軟體需求
    • 現有用應程式需應用新的軟體技術重整
    • 軟體零件的觀念將會是關鍵技術之一
  • ─ 軟體零件之成功要件

    • 標準介面
    • 標準元件
    • 軟體發展程序必須及早考慮使用軟體元件之可能
    軟體技術未來之發展趨勢
    • 維也納大學的Mehdi Zazayeri強調Software Component Technology 的重要性,他的分析如下:
  • ─ 電腦技術之發展

    • 發展速度越來越快
    • 新技術: Internet,多媒體等
    • 新的應用領域: Internet Commerce,娛樂,教育…等
    • 愈來愈複雜
  • ─ 軟體技術之發展

    • 程式語言的發展:Fortran,C,C++,Java
    • 豐富的Paradigm:Interactive,Object-Oriented,Mobile,Agent
    • 新技術:Fuzzy Logic,Wizards,Data Mining …等
  • ─ 未來的軟體需求

    • 新的應用引導新軟體需求
    • 現有用應程式需應用新的軟體技術重整
    • 軟體零件的觀念將會是關鍵技術之一
  • ─ 軟體零件之成功要件

    • 標準介面
    • 標準元件
    • 軟體發展程序必須及早考慮使用軟體元件之可能
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  trend.htm,  Thu Apr 26 21:11:41 CST 2001
    軟體學術界能幫什麼忙?

    ☉ 軟體人員的培育

    ☉ 先進的研究 ???

    軟體學術界能幫什麼忙?

    ☉ 軟體人員的培育

    ☉ 先進的研究 ???

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  contrib.htm,  Thu Apr 26 21:11:43 CST 2001
    有價值的問題在哪裡?

    ☉ 問題之分類

  • ─ 工業界與學術界都解決不了的問題

  • ─ 工業界不需要,而學術界自認為工業界需要的

  • ─ 工業界自認不需要,而學術界認為工業界需要的

      • Y2K Problem
  • ─ 工業界自己能解決,而學術界也幫得上忙的問題

      • OO Technology, Class Library
  • ─ 工業界自己能解決的問題,而學術界越幫越忙的問題

      • Software Process, Software Factory
  • 工業界需要,而自己做不好,而且學術界可能可以幫忙的問題!

    有價值的問題在哪裡?

    ☉ 問題之分類

  • ─ 工業界與學術界都解決不了的問題

  • ─ 工業界不需要,而學術界自認為工業界需要的

  • ─ 工業界自認不需要,而學術界認為工業界需要的

      • Y2K Problem
  • ─ 工業界自己能解決,而學術界也幫得上忙的問題

      • OO Technology, Class Library
  • ─ 工業界自己能解決的問題,而學術界越幫越忙的問題

      • Software Process, Software Factory
  • 工業界需要,而自己做不好,而且學術界可能可以幫忙的問題!

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  classify.htm,  Thu Apr 26 21:11:45 CST 2001
    有價值的 Research 問題在哪裡?

    ☉ CS-Related Software

  • ─ problems that need CS Domain Knolwedge?

  • No!

    • Microsoft, Oracle, etc.

    ☉ NonCS-Related Problems

  • ─ Problems that Need Non-CS Domain Knolwedge?

  • Yes!!

    • Where Software, Engineering Software, etc.

    ☉ Why ?

    • Many Non-CS software engineers
    • Many Old software engineers who were inproper trained 20 or 30 years ago
    有價值的 Research 問題在哪裡?

    ☉ CS-Related Software

  • ─ problems that need CS Domain Knolwedge?

  • No!

    • Microsoft, Oracle, etc.

    ☉ NonCS-Related Problems

  • ─ Problems that Need Non-CS Domain Knolwedge?

  • Yes!!

    • Where Software, Engineering Software, etc.

    ☉ Why ?

    • Many Non-CS software engineers
    • Many Old software engineers who were inproper trained 20 or 30 years ago
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  where.htm,  Thu Apr 26 21:11:47 CST 2001
    我們能幫得上忙嗎?

    ☉ 現在的軟體工程學術研究能幫得上忙嗎?

  • ─ 大部份學術的軟體工程研究 都沒有針對問題的實際要點作研究 !!

  • ─ 在學術界的研究人員應到實際的軟體開發公司中去實際參與, 了解問題之所在,再帶回學術界作研究。

  • ─ 做軟體工程研究的教授最好常常親自寫程式,有機會最好 多寫大程式

    我們能幫得上忙嗎?

    ☉ 現在的軟體工程學術研究能幫得上忙嗎?

  • ─ 大部份學術的軟體工程研究 都沒有針對問題的實際要點作研究 !!

  • ─ 在學術界的研究人員應到實際的軟體開發公司中去實際參與, 了解問題之所在,再帶回學術界作研究。

  • ─ 做軟體工程研究的教授最好常常親自寫程式,有機會最好 多寫大程式

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  canwe.htm,  Thu Apr 26 21:11:49 CST 2001
    Characteristics of software team members
  • ─ Slow in learning new technologies

  • ─ Tied up at the jobs using outdated technologies

  • Human Being are imperfect!!!

    • Resist to change
    • Try EVERY way to keep the job
    • Severe Orgnaizational Politics
  • ─ CS Technical people are second class citizen

    • glass ceiling
    • first to cut
  • ─ Managers are most domain experts, not software engineers

    • 外行管理內行 ?? (誰是內行?誰是外行?)
  • ─ Good CS Technical people don't listen to users

    Characteristics of software team members
  • ─ Slow in learning new technologies

  • ─ Tied up at the jobs using outdated technologies

  • Human Being are imperfect!!!

    • Resist to change
    • Try EVERY way to keep the job
    • Severe Orgnaizational Politics
  • ─ CS Technical people are second class citizen

    • glass ceiling
    • first to cut
  • ─ Managers are most domain experts, not software engineers

    • 外行管理內行 ?? (誰是內行?誰是外行?)
  • ─ Good CS Technical people don't listen to users

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  personal.htm,  Thu Apr 26 21:11:51 CST 2001
    Coding Productivity may not be the KEY !
    • 很多大型軟體的設計過程,有冗長的設計工作, 其重點並非程式設計, 而程式設計只是實現系統設計的工具而已。
    • AT&T(現Lucent) 製作5ESS系統軟體的生產力只有 260行程式(每人每年),run 一個 make 要花費 五、六十萬美元。 大部份的工作都在做系統設計與協調,因此軟體 工程所能解決的問題實在有限。
    • 軟體設計必須考慮到程式設計人員也是平常人, 不是聖人,難免有七情六慾,組織間的勾心鬥角, 權術權謀才是真正的問題所在。軟體工程 研究不能假設程式設計人員都是聖人。

    ! Hire the best software people !

  • ─ 一個好的程式設計師比得過十個平凡的設計師

  • ─ 一個壞的程式設計師可以毀掉一個 project

    Coding Productivity may not be the KEY !
    • 很多大型軟體的設計過程,有冗長的設計工作, 其重點並非程式設計, 而程式設計只是實現系統設計的工具而已。
    • AT&T(現Lucent) 製作5ESS系統軟體的生產力只有 260行程式(每人每年),run 一個 make 要花費 五、六十萬美元。 大部份的工作都在做系統設計與協調,因此軟體 工程所能解決的問題實在有限。
    • 軟體設計必須考慮到程式設計人員也是平常人, 不是聖人,難免有七情六慾,組織間的勾心鬥角, 權術權謀才是真正的問題所在。軟體工程 研究不能假設程式設計人員都是聖人。

    ! Hire the best software people !

  • ─ 一個好的程式設計師比得過十個平凡的設計師

  • ─ 一個壞的程式設計師可以毀掉一個 project

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  coding.htm,  Thu Apr 26 21:11:53 CST 2001
    實際的管理現實

    ☉ 許多軟體工程理論忽略現實的管理環境

  • ─ 例: Process Model

    • 由於管理上的不便,很多理論界所輕視的 Waterfall Model 其實在管理上是最好用的管理模式,組織內的每個人的權責非常清楚,
    • 其他模式非常不易管理,實際上不可行。
  • ─ 例: Time to the Market (Deadline) vs. Software Quality

  • ─ 例: How to measure productivity?

    • Functional point? How do you count functions?
    • 誰去把鈴鐺掛在惡貓頸上?
    • How to credit software reuse?
    • Managers are domain experts, not software engineers !
    • They don't know how to measure real productivity.
    實際的管理現實

    ☉ 許多軟體工程理論忽略現實的管理環境

  • ─ 例: Process Model

    • 由於管理上的不便,很多理論界所輕視的 Waterfall Model 其實在管理上是最好用的管理模式,組織內的每個人的權責非常清楚,
    • 其他模式非常不易管理,實際上不可行。
  • ─ 例: Time to the Market (Deadline) vs. Software Quality

  • ─ 例: How to measure productivity?

    • Functional point? How do you count functions?
    • 誰去把鈴鐺掛在惡貓頸上?
    • How to credit software reuse?
    • Managers are domain experts, not software engineers !
    • They don't know how to measure real productivity.
    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  manage.htm,  Thu Apr 26 21:11:54 CST 2001
    What is the solution?

    ☉ No Silver Bullet!!

    ☉ My Viewpoints

  • ─ Researchers should understand real problems

    • Go to industry, write programs, participate in the projects
  • ─ Suggestions to the Industry

    • Hire the best people, double/triple pay
      • 如何激勵軟體人員?
    • Forget stupid management practices
      • 不要套用現成的管理方法
      • 如何管理軟體人員?
    • Use Right Computation Model
    • Find Proper Abstraction
    • Use AOL or Object-Oriented Language
  • ─ Then, develop apropriate methodology

    國立政治大學資訊科學系 連耀南 lien@cherry.cs.nccu.edu.tw  solution.htm,  Thu Apr 26 21:11:56 CST 2001