1. 推薦一種適合非程序員的IT工作者開發GUI小工具的語言
我推薦你用python!你不會後悔的。
(1)簡單
(2)強大
(3)跨平台
(4)可以開發c/s也可以開發b/s
(5)開源、免費
2. 一個軟體項目如何評估工作量和成本
軟體開發成本估算過程可進一步細分為軟體規模估算、工作量估算、成本估算和確定軟體開發成本等四個過程。
其中成本估算需要對直接人力成本、間接人力成本、間接非人力成本及直接非人力成本分別進行估算。
國家標准《GB/T 36964-2018 軟體工程 軟體開發成本度量規范》中建議的軟體開發成本估算基本流程如下圖所示:
國家准中的四個估算過程,層層遞進,逐步細化,最終達到科學、一致的成本估算。
一、軟體規模估算
通常情況下,規模估算是軟體成本估算過程的起點。
估算規模是後續計算軟體項目的工作量、成本和進度的主要輸入,是項目范圍管理的關鍵,因此,在條件允許的情況下,應首先進行規模估算。
在規模估算過程中,需要注意以下情況:
在規模估算開始前,應根據可行性研究報告或類似文檔明確項目需求及系統邊界。項目需求除包含最基本的業務需求外,還應進行初步的子系統/模塊劃分,並對每一子系統或模塊的基本用戶需求進行說明,以保證可以根據項目需求進行規模預估。
依據項目特點和需求詳細程度不同,通常估算人員在選擇估算方法時應採用納入國際標準的功能點方法進行功能規模估算,在適用IFPUG或NESMA方法時,可以根據需求的粒度和管理需要,選擇預估功能點方法、估算功能點方法或者詳細功能點方法。
若當前的項目需求極其模糊或不確定,可不進行規模估算,而直接採用類比法或類推法估算工作量和成本。
二、工作量估算
在完成規模估算後,應當開展工作量估算工作,若當前項目未開展規模估算,也可直接啟動工作量估算工作。
工作量估算時,可採用方程法、類比法、類推法、功能點法:
方程法:即基於基準數據建立參數模型,通過輸入各項參數,確定估算值。
類比法:即將待估算項目的部分屬性與類似的一組基準數據進行比對,進而確定估算值。
類推法:即將待估算項目的部分屬性與高度類似的一個或幾個已完成項目的數據進行比對,並進行適當調整後確定估算值。
功能點法:從用戶視角出發,通過量化系統功能來度量軟體的規模,這種度量主要基於系統的邏輯設計。功能點規模度量方法在國際上的應用已經比較廣泛,並且已經取代代碼行成為最主流的軟體規模度量方法。
在開展工作量估算的過程中,需要注意以下情況:
當需求極其模糊或不確定時,如果此時具有高度類似的歷史項目,則可直接採用類推法,充分利用歷史項目數據來粗略估算工作量。
當需求極其模糊或不確定時,如果此時具有與本項目部分屬性類似的一組基準數據,則可直接採用類比法,充分利用基準數據來粗略估算工作量。
對於規模估算已經開展的項目,可採用方程法,通過輸入各項參數,確定待估算項目的工作量。若客戶或高層對項目的工期有明確的要求時,在採用方程法估算工作量時,工期要求有可能是方程的參數之一。
為追求估算的准確性,建議在條件允許的情況下,可採用兩種估算方法,對估算結果進行交叉驗證,若估算結果差別不大,可直接使用兩種估算結果的平均值或以某種估算結果為准,若差別較大,需進行差異分析。
工作量的估算結果宜為一個范圍而不是單一的值。
三、成本估算
在獲得了工作量估算結果後,可採用科學的方法進行成本估算。
在成本估算過程中,應需要注意的情況:
類比法和類推法,同樣適用於需求極其模糊或不確定時的成本估算;
間接成本是否與工作量估算結果相關取決於間接成本分攤計算方式。在絕大多數組織,項目周期越長,項目組成員越多,其分攤的間接成本就越高,此時項目的間接成本與工作量估算結果直接相關;
直接非人力成本通常與工作量估算結果無關,宜單獨分項測算;
成本估算結果,也通常為一個范圍,而不是單一的值。
四、確定軟體開發成本
在《軟體工程 軟體開發成本度量規范》中,將軟體開發成本分為四類,主要是為便於對成本構成(即哪些成本屬於開發成本,哪些不屬於開發成本)進行清晰界定。
而在實際確定軟體開發成本時,通常並不是分別測定四類成本,加和後獲得總成本,而是通常採用以下兩種方式確定總成本:
根據人力成本費率及工作量估算直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本;
根據規模綜合單價和軟體規模,測算出直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本。
在進行軟體的規模、工作量、成本估算時應遵循以下原則:
在規模估算時,應根據項目特點和需求的詳細程度選擇合適的估算方法;
充分利用基準數據,採用方程法、類比法或類推法,對工作量和成本進行估算;
工作量和成本的估算結果宜為一個范圍值;
在進行成本估算時,如有明確的工期要求,應充分考慮工期對項目成本的影響,可以根據項目實際情況以及工期對項目的影響程度,對成本的估算結果進行調整;
成本估算過程中宜採用不同的方法分別估算並進行交叉驗證。如果不同方法的估算結果產生較大差異,可採用專家評審方法確定估算結果,也可使用較簡單的加權平均方法;
在軟體項目的不同場景下(如預算、招投標、項目計劃和變更管理等)採用國家標准時,相關要求見國家標准中附錄A。
除了上述主要原則外,我們還需注意在使用基準數據時:
對於委託方和第三方,建議使用或參考軟體行業基準數據進行估算。估算模型的調整因子的增減或取值有可能隨著行業基準數據的變化而變化。
對於開發方,在引入行業基準數據的基礎上,可逐步建立組織級基準資料庫,以提高估算精度。組織級基準數據定義應與行業基準數據定義保持一致,以便於與行業基準數據進行比對分析,並持續提升組織能力。
3. 想轉行做程序員,是學python好還是C++好
首先,對於非程序員職場人員來說,當前情況選擇學習Python語言會更合適,因為Python應用場景多、簡單易學、發展前景好、薪資待遇高。
從技術體系來看,C++語言比較典型的面向對象的編程語言,特點是優秀的執行性能,在操作系統開發、多媒體開發以及各種容器開發中有著非常廣泛的應用,可以說C++語言繼承了C語言優秀的性能,用來構建龐大的軟體系統。
雖然C++有眾多優點,C++語言也是目前比較流行的編程語言之一,但是學習C++還是具有一定難度的,同時由於C++應用場景是非常專業的,對於非程序員來說,不建議從C++開始學習。在IT行業中,C++語言需要研發級程序員常見工作,不過也是非常重要的研發工具之一。
Python語言是全場景編程語言之一,可以用於Web開發、大數據開發、人工智慧開發和嵌入式開發等領域,而且Python語言比較簡單易學,沒有任何基礎的人也可以入門學習。隨著人工智慧以及數據分析的發展,Python語言得到了廣泛的關注。
4. 有哪些適合非專業編程人員使用的軟體開發
非專業編程人員使用的軟體,你的意思就是說可以快速上手,快速入門,簡單而又能做出強大的東西吧;這方面最簡單的就是【按鍵精靈】學三個月,自動打怪,自動加人輔助辦公什麼的沒啥問題,學三個月基本上就可以到達這個程度了,除了 按鍵精靈 還有【觸動精靈】【觸摸精靈】等等簡單的軟體,我說的這些都是比較簡單易懂的,也是當今社會上最出名的;好好學吧,在這方面有不懂的問題提示我即可
5. 軟體開發除了需要程序員,還需要哪些人,這些人的薪酬怎麼樣工作量跟程序員比起來怎麼樣
這要看你的軟體工程的規模。如果是很小的項目,只需要一個頂樑柱似的人物從頭到尾規劃項目,其他的人員就是程序員了。如果有美術方面的工作,工作量小的完全可以外包出去。而不需要美工人員。
6. 非程序員,為方便工作開發了web應用給公司其他部門同事使用,所有權怎麼算
軟體所有權歸你,公司找你要你可以不給.但是你是上班期間開發的,所以公司可以以在上班期間做其他事開除你.如果你的軟體只是一些簡單的功能的話,可以直接送給公司,沒必要把關系鬧僵,伺服器的費用你可以跟公司明說,或者讓公司自己購買伺服器.
7. 如何開發iPad App
你有兩種方式。如果你有面向對象的編程語言背景,如C ++或Java,你可以加入蘋果的iOS開發者計劃或購買iOS
SDK(軟體開發工具包),並著手通過Mac OS X電腦開發一款App。無需編程經驗或訪問到Mac電腦上,你可以開發一個Web
App。功能少但更易 於非程序員開發,Web App都是為Safari、iPad的原生Web瀏覽器基於HTML定製Web頁面。
開發一個iOS App
閱讀蘋果iOS App編程指南以獲得一個對iOS架構和開發一個iOS App的基礎知識的了解。這個指南對開發iPhone和iPad App都是有幫助的。
回顧加盟蘋果iOS開發者計劃的好處。你將獲得教程、示例代碼、蘋果的iOS 4 SDK免費樣書和其他好處。你還可以將你的App上傳到蘋果應用商店。該計劃自2011年4月起每年花費99美元。
從蘋果應用商店下載蘋果iOS 4 SDK。在出版的時候,其費用為4.99美元並需要Mac OS X 10.6.6或更高版本。SDK不適用於Windows。
通過修一門課程學習的iOS編程,參加研習班或學習書籍。開發iPhone App的資料也可能會有所幫助。你學到的開發iPhone App的技能將幫助你開發一個iPad App,因為這兩種設備使用相同的操作系統和開發工具。
開發一個Web App
勾勒出你想通過開發iPad App實現什麼的 「待辦事項」列表。然後,決定你是否能通過一個Web App實現這些目標。
回顧加盟蘋果免費Safari瀏覽器開發者計劃的好處。這會讓你訪問Safari開發庫,示例代碼,教程和其他工具來幫助你開發iPad Web App。
研究蘋果關於准備iPad Web內容的指南。這個文件包含有關主題的詳細說明,例如如何使用W3C標准而非插件、如何修改CSS代碼(層疊樣式表)以及如何准備你的iPad觸摸界面的Web App。
學習和使用有經驗的Web App開發人員撰寫的、由蘋果或其它網站提供的開發Web App在線教程。
上傳你完成的Web App到你的網站上並使用一台iPad進行測試。
8. ai智能何時能完全取代程序員去做軟體開發呢
人工智慧已經可以幫助人類做越來越多的事情,前不久網路宣布推出了音頻轉錄應用 SwiftScribe,這個網頁應用的出現意味著人工智慧將改變完全依賴人工的速記行業。
早在前幾年,網路就推出了「網路尋人」 公益互動開放平台,藉助網路人臉識別技術幫助走失人員回歸家庭。該平台已與民政部全國救助尋親網中,近 3 萬條走失人口信息完成對接。依託如此龐大的人口資料庫,人臉識別技術可以迅速匹配出走失孩子的照片。
類似實例不勝枚舉,而所有的應用都在說明著人工智慧正在人類社會中不斷融入,對話方式和行為能力都在不斷向人類靠攏。下圍棋、玩游戲這樣的「休閑活動」已經無法滿足 AI 的「野心」,最近人工智慧技術又有了一項突破:它們已經學會寫代碼了!
聰明到會「偷」現有程序代碼的人工智慧
由微軟和劍橋大學研究員一同開發的人工智慧系統 DeepCoder,已聰明到會「偷」現有程序的代碼來解決程序問題。
該機器學習系統名為「DeepCoder」,基本上可以自動撰寫代碼,而且能成功解決那些入門級程序競賽的題目。
研究員相信,DeepCoder 可以幫助那些沒有任何編碼知識的人,讓他們可以更容易地編寫初級程序。他們只需簡單地描述自己的想法,即可讓 AI 代工。
程序組合 program synthesis
研究員在發表成果的論文中講述說:「我們發現,就英文來說,在線編程面臨的真正挑戰中,有幾個是可以用程序來解決的問題。」,「不過我們目前能夠解決的最難問題,跟程序競賽網站上最簡單的問題差不多是同等水平。」
DeepCoder 通過「程序組合(program synthesis)」方法實現編碼。將不同代碼的輸入值和輸出值進行分類,了解每條代碼的意義,挑選出合適的片段重組,創造出能解決當前問題的程序。
編碼過程的效率嗖嗖提升
從現有軟體中提取出代碼片段並不難,很多人類程序員也會這樣做,只需要明確每條代碼的意義,並將其用於完全不同用途的另一程序。
然而不同於人類程序員的是,AI 能夠在很大范圍內全面搜索現有程序,並用獨特方式整合在一起,這些是人類程序員不太容易想到的方式。此外可以肯定的是,整個編碼過程也會大大加快,DeepCoder 在幾分之一秒內就能編寫一個程序。
可以想見的是,程序員的工作效率會有一個質的飛躍,從前靠人力的編程手段,「進化」到自動化的編碼行為。未來的工作模式,將會是一場新的工業革命,未來的行業中,智力產出品最終也可以像工業品一樣流水生產,這樣一來人類就可以免除重復性的腦力勞動,投入到更有價值的事情中去,哪怕只是有空閑下來喝杯咖啡、享受一下生活呢?
希望對你有幫助
9. 怎樣運行非程序員指定的軟體,不被卡巴斯基卡掉EXE
卡巴斯基有個暫停保護功能,或者你將軟體添加到卡巴斯基信任程序中就可以。
10. 我需要一個簡單實用的資料庫軟體~
SQL Server 是 Microsoft(微軟) 的數據產品,它的易用性強! Oracle 是 Oracle(甲骨文)公司的數據產品!號稱世界上最好的數據系統! DB2 是IBM公司的產品,在全球500強的企業中有80%是用DB2作為資料庫平台的。
資料庫軟體優缺點:
SQL Server:
優點: 1.支持5000萬條記錄的數據倉庫
2.適應於所有的平台
3.是開源軟體,版本更新較快
4.性能很出色。純粹就性能而言,MySQL是相當出色的,因為它包含一個預設桌面格式MyISAM。MyISAM 資料庫與磁碟非常地兼容而不佔用過多的CPU和內存。MySQL可以運行於Windows系統而不會發生沖突,在UNIX或類似UNIX系統上運行則更好。你還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內部里很多時候都使用64位的整數處理。
5.價格便宜
缺點: 缺乏一些存儲程序的功能,比如MyISAM引擎聯支持交換功能
MsSqlserver:
優點: 1.真正的客戶機/伺服器體系結構
2.圖形化的用戶界面,使系統管理和資料庫管理更加直觀、簡單
3.豐富的編程介面工具,為用戶進行程序設計提供了更大的選擇餘地
4.與WinNT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等,SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.有很好的伸縮性,可以跨平台使用。
6.提供數據倉庫功能,這個功能只在Oracle和其他昂貴的DBMS中才有。
Oracle:
優點: 1.Oracle的穩定性要比Sql server好。
2.Oracle在導數據工具sqlload.exe功能比Sqlserver的Bcp功能強大,Oracle可以按照條件把文本文件數據導入.
3.Oracle的安全機制比Sql server好。
4.Sql server的易用性和友好性方面要比Oracle好。
5.在處理大數據方面Oracle會更穩定一些。
6.Sql Server在數據導出方面功能更強一些。
7.處理速度方面比Oracle快一些,和兩者的協議有關.
缺點: 價格昂貴
1. Oracle跨平台,SQL Server只能運行在Windows上,而Windows能夠安裝的硬體是有限的,如Sun的Sparc伺服器不能安裝Windows,一些大型機、小型機也只能裝UNIX,在這些高端機器上就只能跑Oracle了,這註定了Oracle就是高端資料庫,而SQL Server呢,中低端。
2. Oracle真正實現了行級鎖,SQL Server也宣稱實現了行級鎖,但你實際去試,如果不加索引,其實是不行的。
3. Oracle因為有多版本數據的技術,讀寫操作不會相互等待,雖然SQL Server 2005學習Oracle增加了snapshot機制,從而也引進了多版本數據(MySQL也有多版本數據機制,不能說一定是學習Oracle),但是實際效果感覺就是2個版本的數據,隔離級別為read committed時候,讀寫不再相互等待,但是把隔離設置為Serializable還是會產生讀寫相互等待。
4. Oracle的事務日誌歸檔相當方便,而SQL Server要用事務日誌備份來實現,而且還要配置自動作業,啟動agent服務。
5. Oracle的數據字典豐富,使得DBA容易判斷資料庫的各種情況,雖然SQL Server 2005學習了Oracle的數據字典的特點,但從數量及方便程度上還是相差太多。個人感覺這是Oracle最人性化的地方。
6. Oracle的PL/SQL比SQL Server的T-SQL功能強大很多。
7. Oracle的觸發器比SQL Server的種類多幾種。
8. oracle的備份恢復原理相當簡單明了,備份就在操作系統上拷貝數據文件好了,恢復呢,再拷貝回來,數據是舊的,不怕,應用重做日誌好了。SQL Server呢,雖然原理在本質上還是這些,但操作起來麻煩多了,麻煩到讓你體會不到其本質。
9. Oracle資料庫啟動可以有多個階段,使得DBA可以在不同的情況下,通過啟動到特定的階段解決一些特殊問題,而SQL Server只要服務一啟動,所有資料庫就都打開了。
10. SQL Server給人的感覺是簡單易用,但是我要說,如果你繼續向前走,就會發現SQL Server的體系結構相當復雜(注意我這里是說的復雜),大體還是沿襲的Sybase的體系結構,這種復雜結構,估計很難有根本性的改變,而Oracle呢,時間越長你越會覺得其體系結構嚴謹,雖然開始會感覺很難。我的一個比喻,SQL Server是傻瓜相機(就是那些一兩千的小數碼),Oracle是單反相機(40D,5D,D300),如果你是入門者,那用傻瓜相機好了,在各種環境下拍攝,基本都過得去,用單反,光圈、快門都要自己設定,反倒不如傻瓜相機的效果,如果你是高手了,那傻瓜相機就很難得心應手了。
11. Oracle的書籍一般都比較深,隨便一說就是一大批,Epert Oracle、Practical Oracle 8i、Cost-based Oracle,SQL Server呢,恐怕只有那套Inside SQL Server了,雖然SQL Server的書籍數量比Oracle的多的多(特別是在國內),但多數都是step by step的入門書。
12. 對比SQL*Plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡陋,差得太多了。
13. SQLServer的最大優點就是和Windows結合緊密,易用,但是要注意事情都是兩面的,這些優點可能導致其致命的缺點,例如易用,使得搞SQL Server的人可以不求甚解,有時候不求甚解是沒問題的,但是有時候不求甚解可能會造成災難,特別是對搞資料庫的人來說。不好意思,本來要說SQL Server的優點呢,最後也成了缺點了。
ACCESS是由微軟發布的關聯式資料庫管理系統。它結合了 Microsoft Jet Database Engine 和圖形用戶界面兩項特點,是 Microsoft Office的成員之一。優點:Access部署簡單方便就一個文件運用起來比較靈活主要是桌面資料庫系統,他也可以開發基於自己的桌面資料庫應用(UI),也可以作為前端開發工具與其它資料庫搭配開發應用程序(如SQL Server,DB2,Oracle等),熟練的軟體設計師和資料分析師利用它來開發應用軟體,而一些不熟練的程序員和非程序員的初級用戶則使用它來開發簡單的應用軟體。
缺點:數據儲存量小安全性不夠高,加了用戶級密碼容易破解。C/S結構下對伺服器要求很高,否則容易造成MDB損壞並發數255,但是對高強度操作適應性差,如果伺服器不夠好,網路不夠好,編程的方法不夠好,6-7個人同時訪問就能導致MDB損壞或者並死,不能將VBA代碼開發的軟體系統直接編譯成EXE可執行文件,不能脫離ACCESS或者ACCESS RUNTIME環境,該環境相對其他軟體體積較大(50M左右)。Microsoft Access資料庫有一定的極限,如果數據達到100M左右,很容易造成伺服器iis假死,或者消耗掉伺服器的內存導致伺服器崩潰。
缺點:因功能強大,所以操作數據比ACCESS較為復雜。