关于软件的思考
一、分析三種軟件的特點
Games
1.Games(游戲軟件)的特點:
(1)種類繁多
(2)技術復雜
(3)團隊成員多
2. 開發流程
(1)討論確定游戲的基本內容、類型等,對游戲項目立案
(2)程序員構建最基本的游戲框架
(3)策劃對游戲細節進行設計與構建(包括劇情、玩法、關卡、數值、系統等)
(4)美術需要根據當前策劃設想的游戲世界,提供合適的藝術效果(包括原畫、模型、特效、UI、動畫、場景等)
(5)程序、美術、策劃三方不斷的相互溝通完善游戲內容并不斷的測試調優,不僅要思考游戲的玩法,還需要將程序員留出來的接口做各種配置
(6)游戲內容基本完成后,質檢人員開始測試,程序員修復Bug
(7)游戲經過一定測試后發布,交由運維人員做基本的維護,發布前期一定有bug,還需要各個職能人員互相配合
Internal Software
1.特點
(1)功能齊全:實現各個部門的資源共享,不同部門間可以相互訪問對方的信息資源。
(2)技術含量高:校園內部軟件需要實現郵件服務、文件傳輸服務、web服務。
(3)接觸面廣:實現不同區域的信息互聯互通,宿舍區域與教學區域的鏈接,讓學生可以輕松的獲得學校的學習資源。
(4)可靠性強:在外界環境或內部條件突變時,怎樣使系統保持正常工作,或者在盡量短的時間內恢復正常工作,是校園內部軟件所必須考慮的。在設計時對可靠性的考慮,可以充分減少或消除因意外或事故造成的損失。可以從網絡線路的冗余備份及信息數據的多種備份等方面保證校園內部軟件的可靠性。
(5)保密性高:網絡和網絡間互聯的規模的擴大使得校園內部軟件的安全面臨挑戰,可以從控制IP訪問和外部防火墻保證校園內部軟件的安全。
(6)易維護:校園內部軟件是教職工和學生校園生活的重要平臺,一旦出現錯誤,需要盡可能快的修復,以免影響正常生活。
Mobile Apps
移動App包括用戶接口,用戶接口利用移動平臺所提供的獨特的交互機制,基于Web資源的互操作性提供與App相關的大量信息的訪問。
APP具有本地處理能力,以最適合移動平臺的方式收集、分析和格式化信息;移動App提供了在平臺中的持久存儲能力。移動App可以直接訪問設備的硬件特性(例如加速器或者GPS定位),然后提供本地處理和存儲能力。
二、軟件的推廣方式及開發目的
1.軟件的推廣方式
(1)提高曝光度:比如建立一個關于APP的百科,用戶可以從百科上更詳細的了解,同時,如果后期做品牌營銷,也能引來更多的潛在用戶。
(2)拓展渠道:把APP上傳到各種應用商店、軟件下載網站上,或者能給APP帶來展示和下載的網絡媒介,比如在別的知名度高的軟件上植入廣告、雇用粉絲比較多的應用自媒體做廣告等。就我本人而言,主要是通過應用市場下載,如果應用市場搜索不到,我可能會放棄下載,所以軟件登陸各大應用市場是十分有必要的。
(3)活動營銷:根據APP的屬性及定位,找到特定人群做一些免費的活動營銷,吸引用戶,如果開發的是校園APP,可以在校園里舉辦活動,吸引用戶。
對于我本人而言,下載軟件主要的方式是第二條,通過別的軟件上的廣告植入或者各大博主、公眾號的推薦下載,但這只是一部分原因,最主要的還是軟件本身的質量,開發者華麗的話術只能成為我下載的動力,而軟件本身的體驗感決定了我是否會卸載,所以再完美的營銷策略也比不上真正用心打造的高質量的軟件。
2.軟件的開發目的
軟件的設計、開發、運營、維護均需要耗費一定的人力、物力、財力,所以軟件大多數是為了盈利而開發的,只有一小部分不為盈利,只為人們的生活更加便利而設計,比如國家相關部門負責開發的交管12123、個人所得稅、國家醫保服務平臺、國家遠程醫療中心等APP。對于以盈利為目的的商業性軟件來說,并不全是以賺取用戶現金為目的,此類軟件的盈利方式大致如下:
(1)廣告費用
軟件內部的廣告植入是軟件運轉的主要收入之一,用戶越多收入越大。比如微信、支付寶頁面的商家植入等。
(2)流量
流量只要指軟件的下載量,有客戶才會有收入,有收入才會有盈利,有盈利才會有投入。
(3)增值服務VIP(賺取用戶現金)
對于視頻播放類軟件,VIP可能有超前點播、關閉廣告、清晰度高等特殊功能,提供更高質量的服務可以增收。
(4)支付軟件提現的手續費(賺取用戶現金)
對于微信、支付寶兩大國內主要線上支付軟件來說,微信將近100億的下載量中可能帶來的手續費方面的收入十分可觀。
(5)先免費后收費(賺取用戶現金)
通過免費讓該軟件得到用戶的認可,有了知名度之后就開啟付費功能,使用戶難以割舍。軟件為引誘客戶開啟VIP的常見手段,比如新人折扣、節假日減價、免費體驗等。
三、軟件的bug及更新
1.軟件的bug
幾乎所有的軟件都存在bug,bug主要的產生原因如下:
(1)需求表述、理解、編寫引起的錯誤。
(2)系統設計架構引起的錯誤。
(3)開發過程缺乏有效的溝通及監督,甚至沒有溝通或監督。
(4)程序員編程中產生的錯誤。
(5)軟件開發工具本身隱藏的問題。
(6)軟件復雜度越來越高。
(7)與用戶需求不符。
(8)外界應用環境或硬件的改變。
2.軟件的更新
軟件需要進行適應性調整,從而可以滿足新的計算環境或者技術的需求;軟件必須升級以實現新的商業需求;軟件必須擴展以使之具有與更多新的系統和數據庫的互操作能力;軟件架構必須進行改建以使之能適應不斷演化的計算環境。
四、軟件的競爭方式及發展趨勢
以visual studio為例,Microsoft Visual Studio是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用于微軟支持的所有平臺。Visual Studio是一款功能強大的開發環境,它具有領先于業界的數據庫工具、強健而靈活的軟件建模、高效的體系結構指導、關鍵的測試功能、集成的源代碼控制、領先于業界的數據庫工具、綜合數據庫開發功能、數據庫建模功能(包括概念工具、邏輯工具和實體設計工具,以及對使用存儲過程、索引、視圖等)、適用于行業專家的概念性工具、將行業領域的專家知識引入應用程序設計過程。它的主要優點:應用程序可體現行業需求,而這些需求是由最了解它們的個別專家定義的,因而使工程更加完美。所以這款軟件與同類軟件競爭的主要優勢就在于它的極高的質量。
開發類軟件的發展趨勢是更加多元化,此類軟件層出不窮,但visual studio仍將會是未來很長時間內經典的、高質量的開發類軟件。
五、軟件與硬件的區別
軟件是指令的集合,通過執行這些指令可以滿足預期的特性、功能和性能需求;軟件是數據結構,使得程序可以合理利用信息;軟件描述信息,它以硬拷貝和虛擬形式存在,用來描述程序的操作和使用。軟件是邏輯的而非物理的系統元素。
軟件與硬件的區別為軟件不會磨損。
可以說明軟件的特性,軟件的特性有復雜性、一致性、可變性和不可見性
六、個人使用情況
我在2019年第一次使用開發工具類軟件,當時是大一,班主任是周克清,在南望山校區,是由于當時C語言課程的需要、通過同學分享的鏈接下載的。我通過老師的演示學會了visual studio,帶給我的好處是可以使用VS來進行編程,而且VS功能強大,覆蓋了我的全部需求,壞處是VS的新版本對舊版本編寫的代碼兼容性很差,帶來許多麻煩。我現在仍然在使用,但也偶爾會用DEV C++, DEV C++雖然功能不如VS強大,但對于較小的項目來說,它的使用更加便捷,界面也更加簡潔。我認為VS再過10年、20年仍然會存在,因為VS從1998年誕生至今已經23年了,它的功能十分強大,支持多種語言,是全球程序員使用的經典的開發工具,領先于業界,未來一二十年應該難以被超越。
總結
- 上一篇: Cpython 编译python工程报错
- 下一篇: 我的嵌入式软硬件学习(三)