醫院科室級別的業務軟體如何選擇軟體架構?

項目是針對大型醫院的一個具體科室

要求是這樣的:

1、科室使用系統的人數在50人以內。

2、數據量適中,大概每天的登記病人在200人,每人產生的業務數據20條之內。

3、不需要複雜的圖像處理功能,大部分是業務數據的流程管理,最終以出紙質報告為結點。但是2.0版本需要包括一定的統計功能(表、圖)和數據分析。

4、有較多的硬體需要做介面,如各類印表機,高清攝像頭,醫療硬體等。

5、前期3人做原型開發,後期再增加3人。總的開發時間要求在6到9個月

請教各位專業人士需要如何選擇軟體結構和編程語言 公司的技術部門推薦的結構是winform + wcf + sqlserver 這是較好的選擇嗎?

感謝!補充三點:

1、我公司規模屬於中型,目前做的是產品,之前做上一代某科室信息化軟體產品的時候採用了B/S結構,有些硬體很難接,造成了一定損失,研發部門反饋是本地做了一個什麼C/S程序的助手,解決。為了避免走彎路,來請教。

2、我公司目前研發人員多以.net出身,我知道的多數以前搞過winform或wpf,WCF這類東西

3、醫院的電腦確實不怎麼樣,我們做的都是三甲醫院,但大部分都停留在XP系統


部分反對 @蕭井陌 的答案,完全贊同 @王韋恩卑鄙 的。web並非萬能葯,在大眾產品中,web是不得已的選擇,但是其中的坑比winform這種東西大得多。如果產品用戶分布很廣,用web是合理的選擇,但本例中,明顯所有用戶都集中在一個較小區域,其運行環境都是強統一的,這時候選擇web的理由是什麼?

如果用winform,優勢就是再沒有選型的痛苦,可利用的成熟的東西太多,就算完全不引入第三方的東西,也足夠你把整個系統搞起來,但是你碰了web之後,就面臨選擇什麼框架,兼容什麼瀏覽器,等等等等,過兩天你要預覽病歷,想嵌入個office控制項,確定你需要這樣嗎?

web系統的主要優勢:

- 無需安裝客戶端環境,無需升級

- 良好的跨平台性

- 容易跟其他系統集成

- 界面修飾比較容易

這幾條,有哪條是你很需要的?

所以你們技術部給出的是很合理的方案。

此外,反對「會什麼就用什麼」這種討巧答案,這個答案成立的前提是有多種很適合的技術,正好會的那種在其中。在本例中,如果一個人只會純web方案,絕對沒法做下去,參見樓主需求的第四點:

4、有較多的硬體需要做介面,如各類印表機,高清攝像頭,醫療硬體等。

請問這個怎麼做?

醫療行業的信息化,是跟其他很多行業信息化有較大差異的,他們那些稀奇古怪的設備,能有驅動都不錯了,完全不能指望再有瀏覽器插件,老老實實本地調用才是正道。相對來說,電信行業之類的信息化就可以用web做。


比較保守的選擇。 沒有大問題。 winform 實在做不到的也可以嵌入wpf

我擦 這個問題這麼大爭議啊 0贊同暫居榜首


現在比較流行的是:

  • WPF做界面。
  • WF做流程,運行時可改,而且一個函數可以序列化反序列化跑一遍等各種領導蓋章長達幾個月都沒問題。以後醫院提出需求變更了,你自己改改很方便,然後可以騙對方說工作量很大,撈一大筆錢。這個方法是我大一的時候我的C++老師教我的。
  • WCF做WPF和WF溝通的渠道,大部分component可以讓WF自己生成。
  • SQLServer做後端,讓WF調用。


從你的描述中看,你們是紮根醫療行業,並且是產品型的公司。

我衷心地建議,

去找你們老闆、銷售甚至客戶聊聊,了解下:

你們的業務方向和產品規劃是怎樣的,這個項目占什麼位置?

這個客戶的重要性和延續性如何、未來可能的擴展方向是什麼?

這個科室的業務場景是否典型、在同類醫院裡還有多大市場空間?

公司的資源多少,預算、成本、進度要求(問題描述里已經提到了)?

......

作為一個合格的、負責任的Architect,必須了解清楚這些才有可能設計出一個合理的架構。

----

最後忍不住要說,

Architecture和Platform、Language、Framework、Component不是一個意思,雖然這些也是考慮的因素,但重點不在這裡 — 至少,不能上來就唾沫橫飛地扯這些東西。

比如二話不說讓人上Web的,假若硬體廠商不提供ActiveX的介面,你免費幫題主開發嗎?

再比如二話不說讓用Winform的,考慮過End User的計算機應用能力嗎?現在是50個用戶、假若業務擴展到5個8個科室,天天各種問題或者不是問題的問題不斷,你幫題主去跑腿維護?

還比如二話不說讓人用Client + database的,知道database有種授權模式是Per User(Connection)嗎?超出的預算你給嗎?

還還比如敲了兩個名詞就讓人洗洗睡的那位,你確定你知道什麼叫Architecture Design?洗洗睡吧,不懂別瞎說,嚴謹是一個工程師起碼的修養。


系統整體架構推薦SOA,這樣前端採用web還是winform都無所謂了。

協議推薦JSON,Service推薦做到restful。WCF可用,推薦WebAPI。

考慮到移動辦公,iPad等各種移動設備,還是推薦web。

硬體接入推薦通過專門的伺服器統一採集數據,然後暴露Service介面供系統其他部分訪問。

如果有需要直接和硬體交互的場景,推薦winform解決。

web可基於bootstrap和jQuery,有條件還可以上前端mvc框架。其實主流框架都有IE8的兼容解決方案,可解決XP系統訪問的問題。

後端存儲還是sqlserver吧,大家熟悉才是王道。

不推薦WPF,因為WPF的樣式跨windows不是完全一致,碰到一些坑沒有經驗的人很難解決。而且在低配置硬體上速度很慢,優化需要付出的代價較高。


瀉藥。

目前排名靠前的說WPF、WEB的純粹誤導。

真正的答案是「不需要考慮技術選型,會什麼就用什麼」


明明應該用wpf或者web

你們那種公司的所謂技術部,還是洗洗睡吧。。。


相信技術部門吧,其實這種規模的系統正常的軟體架構都能解決問題。


這種事還是聽技術部門的好,不應該來知乎問。因為幹活是你公司技術部門干,他們肯定優先選自己擅長的技術,而網友雖然選自己熟悉的技術,但他們不給你幹活。如果你聽網友的選了技術部門不擅長的技術,開發效率肯定不高,出了問題又都抱怨你,吃力不討好,除非你有本事讓老闆把技術人員都換了。

而且以我個人的經驗,his系統的開發人員水平普遍低於互聯網開發人員,不擅長wwb開發,用一些很怪異的方式實現用winform很容易實現的功能,費時效果又不好。


贊成@王韋恩卑鄙 , @徐飛的觀點,另外補充一點. 醫療數據的保密性也要考慮,WEB的安全性和WinForm相比還是要差一截的. 不過如果是確定用WinForm,也就沒有必要用WCF了, 少一層,省很多事啊. 很多技術,不是用的越多越牛B的.

說全Web開發的,有沒有考慮過Debug和QAQC的工作量.光是3大瀏覽器的兼容性問題,就夠麻煩.考慮到後續升級和維護,絕對是淚奔啊.


同意輪子哥的,技術上沒問題!用xp ie6的用戶還是很多的,我的vs一直默認.net2.0(?_?#)主要是統計的問題,醫院這些報表都是跟上級需要改來改去的,後期麻煩的很。後期接硬體設備應該不是特別多,提前談好價格接一個設備多少錢。


好好做啊兄弟,最好改善,我們醫院的病例系統和醫囑系統感覺不方便。


HIS是B/S,還是C/S,請指導 @Jack han

現在不是要移動辦公嗎?B/S解決PC端問題,手機就是移動終端,.net很渣的,為什麼醫院信息技術要用.net @vczh


推薦閱讀:

360和金山的安全產品都不想用的時候,有沒有什麼好的替代方案?
電腦方面的測評可信性到底有多少?
如何看待某些人下載軟體喜歡到官網的偏好?
怎麼看一個軟體是64位的還是32位的?
有誰使用過大數據魔鏡可視化工具,感覺怎麼樣?好用嗎?

TAG:軟體 | 軟體架構 | 軟體設計 | 系統架構 |