現代軟體工程講義 如何提出靠譜的專案建議

2021-06-22 01:20:37 字數 2071 閱讀 7529

網際網路時代對於創新者來說, 既是乙個偉大的時代, 又是乙個糟糕的時代。 你有很多機會做出影響世界的產品,  但是, 似乎任何想法都被別人想到過了, 做出來了, 上市了, 移植到各種平台上去了…  那麼我們後來人除了羨慕別人生得早, 還有什麼機會呢?  但是往往不經意間, 在同學們熱衷於偷菜, 三國殺的時候,  又一批新的想法, 新的技術蜂擁而至, 別人又想出了新的點子, 新的商業模式.  我們的菜偷了不少, 三國殺玩了好幾個通宵,  但是想法還是沒有 …

在《現代軟體工程》 這門課裡, 同學們不能穿新鞋, 走老路 - 學習了很多新技術, 新的開發模式, 新的團隊管理方法, 卻做乙個毫無新意, 沒人使用, 演示後就扔掉的東西 (例如: 虛擬的學籍管理系統, 圖書館管理系統…)。  我們要做實用並且創新的專案。

首先「創新」可以分為改良型的創新 incremental innovation - (軟體中增加幾個功能,  把某個程式變得更快一點,  把程式移植到新的平台), 和顛覆型的創新 (disruptive innovation).   這兩種型別各有其重要性, 不宜偏廢。 

那我們怎麼提出新的創意, 怎麼說服別人我的創意是靠譜的?  有些同學會通過「二拍」的辦法來解決:

- 拍腦袋: 嘿, 咱們做乙個圖書拍賣**怎麼樣?

- 拍胸脯: 沒問題的, 市面上asp.net 的書很多, 我看兩個晚上就能寫出乙個購物**。

這些事情光靠拍腦袋和拍胸脯是不夠的, 「二拍" 的後果往往是第三拍 - 拍屁股走人.  有些同學可能還會遭到腦袋被磚頭拍, 或者被胸襲的後果。 如果不能拍腦袋, 胸脯, 屁股,  那我們怎麼才能想出靠譜的想法,  然後有條理地說服別人?  在宿舍裡睡覺, 聚餐, 喝酒, 搞頭腦風暴?

1) n (need 需求)

你的創意解決了使用者的什麼需求?   這個需求可以是明確的, 公開的 (例如: 希望能上網玩三國殺).  也可能是說不清道不明的, 例如 - 以前沒人說: 嗯, 如果我能找到這樣乙個**, 我可以去偷菜, 就好了…

我們要充分了解使用者的痛苦, 他們對已有軟體, 服務不滿意的地方。但是使用者往往也不知道顛覆型的創新。 例如亨利 · 福特 當年發明汽車之前, 如果他深入使用者之中, 了解他們的需求, 使用者會告訴他 - 我希望我的馬車更快一些!  

好, 你找到了n,  下一步怎麼辦的, 得看看你有什麼招數, 特別是獨特的招數, 來解決使用者的痛苦。  你不能說我會c++, 所以我一定可以寫好這個軟體.  你得有獨特的辦法,  例如, 有人臉識別技術, 會做超大規模的資料處理。 那你 (你的團隊) 會什麼呢?  只會氣泡排序?

這些招數不光是技術上的, 也可以是商業模式上的, 地域的, 人脈的, 行業的. 

3) b (benefit  好處)

4) c (competitors 競爭)

競爭對手也沒有閒著, 這個市場有多大, 目前有多少競爭者在瓜分, 你了解麼? 你如果不是最先進入某個市場的產品, 你還能贏麼?

大家可以看看有關

first mover advantage (fma)

,  second mover advantage (sma)

的描述。

中科大 《現代軟體工程》班的同學,  請把你們的每乙個靠譜的創意按照 nabc 的框架發表在你們的部落格上, 每乙個組員至少提出乙個創意, 多多益善。

2012/4/15 更新:

在練習了多次的 nabc 之後, 我意識到也許還應該加乙個d: delivery。 怎樣把你的創新產品交到使用者的手中?

例1, 你想到了乙個好主意, 建乙個比 hao123 更好的導航頁面!  我們姑且認為nabc 都沒問題,  那如何把這麼好, 這麼簡單的產品交到 (deliver) 使用者手中呢?   

例2, 你想到了乙個手機的應用, nabc 都不錯,  那如何把產品交到千萬個使用者手中呢?

現代軟體工程講義 目錄

軟體工程牽涉的範圍很廣,同時也是一般院校的同學反映比較乏味的課程。但是軟體工程的技術對於投身it 產業的學生來說是非常重要的。經過幾年的探索,我總結了在16周的時間內讓同學們通過 做中學 learning by doing 掌握實用的軟體工程技術的教學計畫。這套講義在下面的學校正式課程中運用過 20...

現代軟體工程的學習

構建之法現代軟體工程 這本書才開始學習,相對於大一緊張繁瑣的android studio來說,確實是很容易理解的一門課程,但是對於寫過千百行 這一要求,對於學生而言確實挺困難的,但是對於資深程式設計師和菜鳥來說,不同的基礎決定著學習的深入,在分析 設計以及測試中投入的時間是很重要的。構建這本書將書本...

現代軟體工程講義 個人專案和結對專案練習 地鐵

很多老師反映教軟體工程和程式設計的時候沒有合適的題目,構建之法 提供了下面的題目,都是從簡單的解題思路入手,逐步增量改進。學生們可以複習基本的程式設計技能,然後逐步加入模組化,檔案處理,單元測試,資訊隱藏,物件導向的分析,mvc 等概念和實踐。大家可以選用 點遊戲和單詞頻率問題 四則運算練習 計算程...