軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

顯示具有 管理系統 標籤的文章。 顯示所有文章
顯示具有 管理系統 標籤的文章。 顯示所有文章

2018年9月5日 星期三

Fluke、Flick 影像管理軟體開發

感謝中鋼集團委託網智數位軟體開發團隊,開發紅外線熱像測溫系統軟體。

flir-03 (1)pgroup2img180702420952044



目前我們開發的 紅外線熱像測溫報告輸出軟體,已有多家知名龍頭大廠、機電顧問公司進行採用,也歡迎相關行業如果需要可以與我們聯繫,我們也可以進行量身定做的軟體開發。





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2018年7月11日 星期三

越南-惡魔雞排連鎖店委託開發餐飲管理系統

       去年台商引進知名的惡魔雞排在越南擴展了許多複合式餐飲連鎖分店,因為該台商之前委託網智數位-軟體開發團隊開發量身客製化的軟體,運用在工廠端管理系統,因此對我們有信心,又再次委託我們開發中央餐廚管理系統,讓我們的知識領域又有機會接觸餐飲產業。


cm20160403___ba9b53c19c2419ca88452c065ccf5818954


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2018年5月30日 星期三

KM知識管理系統-軟體開發、客製化軟體

     網智數位﹣軟體開發團隊,今年協助台灣最大的馬達承軸器廠商,今天台灣、上海同步進行展示發表,開發智慧型的維修知識管理系統,只要輸入各種設備故障原因,系統自動會導引故障的排除方式、以及需要的檢測項目、各種歷年來的統計數據報告,協助企業員工多年來的經驗與知識透過資訊科技軟體進行傳遞,創新引導員工處理維修問題,也從隱形的知識資產變成可見的有形資產,再度證明資訊科技可以有效提升企業的無形競爭力...

WechatIMG2

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105

2017年8月15日 星期二

請修單管理系統-成大斗六分院(軟體開發、軟件開發、客製化軟體)

       今年7月份我們協助我們的客戶,開發成大醫院的庶務管理系統與請修單管理系統,來協助每天的事物修繕記錄、醫院器材的維修管理、人事管理、異常週報記錄管理系統、排班系統、未來客戶也預計繼續擴充其他的醫院分院,來達成資料管理、維修異常統計、工作人員每天工作記錄安排、統計分析圖表。

   我們部分軟體的功能畫面如下
填寫請修單查詢頁面
2017-08-15_22-32-43



新增請修單功能
2



工作人員日誌記錄功能
3



我們開發的功能頁面都可以輕易匯出Excel / Word 格式
4




上面我只列出很少部分的客戶需求頁面,我們的優勢就是從無到有的量身客製化軟體開發,也會在跟客戶需求分析階段提供我們多年的開發經驗,跟客戶互相討論來產出一個對客戶有幫助、提升效益與效率的管理系統。






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen




 

2017年4月9日 星期日

感謝-台灣機電 導入 紅外線IR與局部放電 分析測試報告軟體(軟體開發、客製化軟體、系統開發)

    在機電行業領域著名的台灣機電顧問股份有限公司,與網智數位接洽一段時間,一直評估想導入我們研發的紅外線與局部放電管理軟體 ,因為客戶服務的專業與服務品質,累積了許許多多的客戶,而這些客戶的現場測試報告都是投入大量的工程師進行人工整理圖片、人工整理異常溫度、異常狀況、以及手寫各式各樣的測試、拍攝報告,而且一個時間間隔就是例行處理這些實務,也因為耗用許多工程師的人工成本、加上資料都無法有效統整、分析、歸納,台灣機電評估我們研發的管理軟體,可以有效的整合所有的現場工程師拍攝回來的紅外線IR與局部放電圖,上傳至管理軟體,再至系統表單輸入與核對異常數據、拍攝資料無誤後,管理軟體就自動儲存客戶的所有拍攝位置、盤名、天氣狀況、環境溫度、濕度、相關電流(R、S、T、N)、額定電流、檢測照片、可見光圖片等欄位資料,往後都可以查詢歷史資料、交叉比對同一個地點的拍攝資料、並轉成匯出給客戶的正式書面報告。






     在一個行業處於競爭的市場中,必須在企業的專業面、服務面、以及資訊數位化的普及,企業必須在原有的營運模式中,思考如何在創新、利用資訊科技來協助企業的效率提升、數字化管理,一家企業給客戶的資料,必須迅速及時性、正確性的提供委外的分析報告資料,而這也是台灣機電顧問股份有限公司與我們接洽許久,評估必須導入一個好的軟體,提升企業的服務專業形象、減少不必要的人事成本。



網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen


2017年3月29日 星期三

徴 .Net 程式設計師數名(軟體開發、客製化軟體、軟體設計)

     因業務的增量,網智數位目前有多個自身產品在研發、也有大型銀行專案在進行,尋求數名資深的系統分析師(尤其對行業ERP 或 銀行資產管理、處分資產財務等經驗)、程式設計師。

images

1.鄙公司陸續手上有多個進行中的專案,需要找可長期合作的提案人,執行程式設計的設計與開發。
 
2.包含各種領域產業的公司,有製造業、電信業、半導體業,主要開發管理系統,財會系統,或是各項作業流程系統等。
 
3.提案人需有各領域作業的知識,有相關產業經驗佳,才能開發出符合產業需求的系統
 
4.開發工具不拘,以.NET C#為佳,資料庫包括MS-SQL,MY-SL,Oracle等皆可,部分系統可能需要建置類似ERP的規模

5.因案件很多,各案件規格需要與發案方討論,並個別報價
 
6.需有獨立完成一個 WEB(ASP.NET MVC)或 Windows Desktop APP(Windows Form or WPF) 專案經驗過。


PS.如果你是厲害的SOHO族想要長期配合專案,我們也非常歡迎,目前今年快速發展,在商業軟體與工業應用軟體,在空調大廠、機電大廠、馬達承軸器、土地銀行 等產業目前領導廠商都是我們的客戶哦,因為客戶的信賴,給我們團隊不斷的前進...


網智數位科技公司在IT領域已有10年多經驗,在團隊合作下陸續完成許許多多的軟體開發承包、網路架設委外案、系統維護案,也正式跟大型軟體公司、玩具製造業、飾品製造業、知名衛浴公司、窗簾材料業、空調冷氣設備大廠、貿易公司、前進國際、大型上市成衣製造業、連鎖動物醫院、網拍零售業等正式長期合作,開發一系列的不同產業的進銷存系統、圖控軟體、監控軟體、紅外線檢測趨勢圖像報告、獎金計算系統、物流配送、客戶關係(CRM)管理系統、請假出缺勤管理系統、企業資源管理(ERP)系統、電子商務(EC)等,接下來我們將更積極努力的完成客戶的要求與完善的服務,希望如果您有軟體委外、客製,IT建置的需求、網路行銷等,我們將有一套完整的服務模式。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年2月9日 星期四

進銷存-進口買賣業解決方案 (軟體開發、客製化軟體、程式開發、程式設計)

      去年被一家經營國際貿易美妝護膚用品的客戶委託開發符合該客戶營運流程與產品特性的進銷存管理系統委託案,該客戶事實上很久以前就找過網智數位進行量身定做的軟體開發要求,但因為當時我們與一家國外知名玩具的代工廠合作一系列的工廠自動化、MRP/ERP軟體開發案,因為時程問題覺得無法在時間點協助客戶完成軟體客製化需求,所以遲遲沒有承接,而經過1~2年該客戶還是找上我們,因為這期間客戶找了好多家市面上的套裝進銷存軟體、庫存管理軟體,但就是都無法滿足客戶在處理進出口成本計算、庫存銷量的分析角度來輔助跟國外進口物品的參考統計數字,所以又再次與我們細談,覺得我們量身定做可以滿足客戶的需求,合作案就正式開始了…



進貨單-部分功能畫面
image

進貨多筆新增-便利操作

image

週期性庫存銷售量分析
image



    今天,我帶工程師正式將開發完畢的軟體上線,到客戶端進行教育訓練,看到一個好的軟體可以真的讓客戶滿足、協助客戶的管理、分析、流程整合, 也可以進行各種成本、不同角度的成本查看、不同週期的銷售量分析、業務負責區域業績查看,這也是軟體所帶來的一種無形的價值,我與客戶也深信我們的用心開發,未來客戶的軟體需求只會不斷的加強、藉由軟體的管理輔助,客戶提高管理績效、我們也有軟體開發的成就感,這就是打造雙贏的合作案。


    網智數位-軟體開發團隊成員幾乎以前都是在知名軟體公司、上市公司服務超過10年以上的經驗,在商用軟體、工業軟體、系統整合都有非常好的經驗,也是知名航空公司的教育訓練委託合作案、電腦大廠清華同方的軟體開發解決方案合作廠商等等。








網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年12月27日 星期二

地板/磁磚 管理軟體導入 (程式開發、軟體開發、程式設計)

      這個月在多次跟經營30幾年的地板多家連鎖店老闆進行實際現場討論,因為該客戶在經營公司的作業流程與管理目前效率人工過於頻繁,所以找上我們網智數位軟體開發團隊進行改善建議,而 Allen 我發覺事實上一家公司如果老闆認真投入公司的人事、庫存、財務、業務績效、產品品質管理面向時,公司發展到一定程度一定會想透過一個好的資訊系統、管理軟體來進行協助公司的作業標準化,當然在多次討論客戶的企業經營管理思維過程中,我學到產業的知識、客戶的經營理念、面對客戶的產品介紹、面對客戶的敬業態度,都是我無形中累積的知識。

images


      該客戶因為擁有特殊的人事管理思維、銷售管理制度,只是都是人工計算、Excel作業,市面上根本也沒有任何一套套裝軟體可以符合客戶的需求,因為客戶的銷售獎金算法、產品估價方式、人事管理制度面,都是具有該地板產業獨特的競爭優勢,所以客戶評估我們擁有多年在不同產業領域上可以完全從無到有客製化的軟體開發能力,確定正式委託我們進行軟體開發案。 
      而因為該軟體開發案,我評估跟以往我在協助導入其他廠商時給予輔導的方式不同,該客戶具有特殊的Domain Know-how,所以我特別另行保密管理軟體使用權,來保障該客戶多年的管理制度,也作為雙方合作信任的基礎,這樣客戶可以安心的享有自己特殊的營運管理方式,完全透過軟體來建立標準流程,就是老闆在外面也可以透過資訊系統,馬上知道公司所有業績表、財務成本、庫存管控,又不用擔心自行創立的業績績效算法、組織擴展方式被其他競爭對手學習。

好的管理軟體,可以協助企業進行【數字管理】- 績效管理,任何歷史資料都可以分析協助作決策。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年11月6日 星期日

Windows 10 UWP 存取 JSON 格式 - 程式實作講解(軟體開發、客製化軟體、程式設計、程式開發)

      在我們開發各種專案時,一定多少都會需要存取各種跨平台傳輸的資料,目前最普遍的傳輸格式為 XML 與 JSON , 而今天我想要深入講解在 Windows 10 Universal APP (UWP)平台下,如何讀取跟儲存 JSON 格式資料。

      images


    JSON 的全名為 Java Script Object Notation , 它是一種輕量級的資料傳輸交換格式語言,特點是容易閱讀、依字串為基礎,格式都是經過壓縮地所以在網路傳輸過程,佔用的頻寬極小,因此被廣泛地應用在跨平台、跨程式語言。
JSON 的格式在宣告一個類別/物件,是用 大括號 { };宣告一個陣列使用 中括號 [ ] ;而在大括號裡面,是使用 名稱 :值 ,下圖是官方的範例圖解釋
1356331778-696014507


例如 我在此 有個 員工類別 ,分別屬性有員工編號、姓名、職位、學歷,則對應的 JSON 格式為 
(JSON Code)
var empJsonObj = { “員工編號”:“emp001”, “姓名”: “台灣李奧納多,”“職位”: “技術總監”,"年齡”:33 } ;

接下來,就是要開始講解如何在 Windows 10 Universal APP (UWP)平台,存取 JSON 格式的支援與程式開發技巧。
在 Windows 10 UWP 平台,主要有 2 種技巧來存取 JSON 格式,第一種是使用 DataContractJsonSerializer (MSDN 介紹),透過 DataContractJsonSerializer 來對 JSON 數據進行序列化與反系列化動作 ;而第二種是使用 JsonObject 類別來自行定義 JSON 物件。這兩種方式我都會在這篇完整介紹。


1.透過 DataContractJsonSerializer 對 JSON 資料進行序列化與反序列化
      使用 DataContractJsonSerializer 類別來對 JSON 數據進行序列化與反序列化,這是最簡單的方式,所謂序列化過程就是把 實體類別物件 轉成 JSON 格式化的字串,反之 反序列化 過程,就是把 JSON 物件字串({ 名稱:值,名稱1:值1….}) 轉換成對應的 .NET 類別。

下圖,是實際程式範例
image


image



2.透過使用 JsonObject 類別來自行定義 JSON 物件
這個就讓我直接用實際程式碼來講解….
首先我先新增2個類別 ,分別為 員工類別 (Employee)和研發群組類別(RDGroup),在此我假設一個員工可以同時歸屬多於于一個研發群組以上。

底下為 員工類別程式碼:

   /// <summary>
   /// 員工類別
   /// </summary>
   public class Employee
   {
       private const string idKey = "id";
       private const string nameKey = "name";
       private const string rdKey = "rd";
       private const string ageKey = "age";
       private const string enableKey = "enable";

       public Employee()
       {
           Id = "";
           Name = "";
           RDGroups = new ObservableCollection<RDGroup>();
       }

       public Employee(string jsonString) : this()
       {
           JsonObject jsonObject = JsonObject.Parse(jsonString);
           Id = jsonObject.GetNamedString(idKey, "");
           Name = jsonObject.GetNamedString(nameKey, "");
           Age = jsonObject.GetNamedNumber(ageKey, 0);
           Enable = jsonObject.GetNamedBoolean(enableKey, false);

           foreach (IJsonValue jsonValue in jsonObject.GetNamedArray(rdKey, new JsonArray()))
           {
               if (jsonValue.ValueType == JsonValueType.Object)
               {
                   RDGroups.Add(new RDGroup(jsonValue.GetObject()));
               }
           }
       }
       public string Stringify()
       {
           JsonArray jsonArray = new JsonArray();
           foreach (RDGroup group in RDGroups)
           {
               jsonArray.Add(group.ToJsonObject());
           }

           JsonObject jsonObject = new JsonObject();
           jsonObject[idKey] = JsonValue.CreateStringValue(Id);
           jsonObject[nameKey] = JsonValue.CreateStringValue(Name);
           jsonObject[rdKey] = jsonArray;
           jsonObject[ageKey] = JsonValue.CreateNumberValue(Age);
           jsonObject[enableKey] = JsonValue.CreateBooleanValue(Enable);

           return jsonObject.Stringify();
       }

       public string Id { get; set; }
       public string Name { get; set; }
       public ObservableCollection<RDGroup> RDGroups { get; set; }
       public double Age { get; set; }
       public bool Enable { get; set; }

   }

底下為 研發群組類別(RDGroup)程式碼:

  /// <summary>
  /// 研發群組 類別,一個員工可以歸屬多個研發群組
  /// </summary>
  public class RDGroup
  {
      private const string idKey = "id";
      private const string rdKey = "rd";
      private const string nameKey = "name";

      public RDGroup()
      {
          Id = "";
          Name = "";
      }

      public RDGroup(JsonObject jsonObject)
      {
          JsonObject schoolObject = jsonObject.GetNamedObject(rdKey, null);
          if (schoolObject != null)
          {
              Id = schoolObject.GetNamedString(idKey, "");
              Name = schoolObject.GetNamedString(nameKey, "");
          }
      }

      public JsonObject ToJsonObject()
      {
          JsonObject schoolObject = new JsonObject();
          schoolObject.SetNamedValue(idKey, JsonValue.CreateStringValue(Id));
          schoolObject.SetNamedValue(nameKey, JsonValue.CreateStringValue(Name));

          JsonObject jsonObject = new JsonObject();
          jsonObject.SetNamedValue(rdKey, schoolObject);
          return jsonObject;
      }

      public string Id { get; set; }
      public string Name { get; set; }
  }



再來我設計一個前端UI界面,作為讀取與寫入 JSON 的案例實作

前端界面
image



在執行存檔時,我們將新增一個 Employee 類別,並透過 JsonObject 轉成(序列化)為 JSON 字串,儲存在設定檔。
image

而在【讀取資料】時,是透過 JsonObject 進行反序列化,將 Json String 轉回成 .Net 的 Employee 類別(Class)
image



程式執行結果畫面
存檔
image


讀取資料
image






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen





2016年11月1日 星期二

機電行業-軟體解決方案(紅外線、局部放電、點料表)

        今年我公司針對機電行業領域,開發出一個針對紅外線、局部放電檢測的測試報告,轉為一個獨立的專案管理報告,該管理軟體可以協助將客戶歷年來的紅外線、局部放電的報告資料,如拍攝位置、拍攝盤名、檢測人員、天氣狀況、環境溫度、濕度、相關電流(R、S、T、N)、額定電流、檢測照片、可見光圖片等欄位作有效資料管理。

image

         並且針對每個檢測報告的的【判定結果】也會根據溫度、電流等條件進行結果的系統判定,可以大幅減少人工判定作業的誤差與錯誤,如下圖

image

           在每個報告項目我們都可以指定報告是否有異常原因、異常項目(後續我們的管理軟體,都可以針對所有異常原因、異常項目)進行分析統計趨勢報表,作為管理層級人員的追蹤檢討事項、以及執行面的調整。

image

管理軟體部分統計圖表

image

image

image

image

image


以上所有功能皆可匯出 Excel 檔作為報表、提供給客戶,提升機電產業的管理績效,以往我們的客戶在還沒有使用我們的管理軟體時,每次產生一個報告都需要人工在 Excel、Word作業,行政助理到處複製貼上,初步估計人工花費至少超過10天,現在使用我們的軟體,只需要一個按鈕就可以馬上產出給客戶一個完整的報告),而且案子一多根本無法有效作管理,例如想知道目前有設備過熱的地點有哪些、散熱發生的又有哪些;所以使用我們的管理軟體後,可以有效的跟客戶呈現一個即時的報告,作為提升機電產業的競爭性,目前已經有多家新竹大廠導入我們的軟體,如果您有這個需求,可以聯繫我們,我們可以安排時間到現場Demo我們的系統。




網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870 

公司電話:02-55991310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen












2016年10月27日 星期四

ERP 產品成本管理與計算

       目前很多企業多少都有導入ERP系統,但不管是用到什麼樣的ERP,SAP、Oracle、其他等,基本上幾乎都有一個共同的特點,就是目前的應用還局限於企業的各部門組織資料的輸入,然後將這部分的數據加工應用,形成一些簡單的統計分析報表,也就是說,事實上這還算是處於基礎的ERP應用階段,竟然這樣,那麼企業到底應該如何更加充分地發揮ERP的作用呢?這也是我想從這篇文章來講解,我主要從成本控制方面來加以闡述。





      第一,我們先來了解一下企業製造生產商品的成本構成因素,產品的成本主要由材料成本 + 人工成本 + 製造費用等部分組成,而其中製造業最主要的成本是材料成本(比例相對比較大),其次是人力成本,第三是製造費用成本,而要控制好各項成本,就是要了解其中各成本項目分別是多少,在沒有應用ERP的時候,通常成本會計計算成本方式很簡單,就是將本月生產的產品數量作為基數,計算出材料,人工及製造費用,按一定的規則,將所有成本分攤至本月所有產生的產品中,從總體成本來說計算是沒有什麼問題,但由於是平均分攤的方式,相對每種產品而言,所看到的成本就不一定真實了,而且如果發現成本有異常,也比很難去追著問題的來源,但是很難去做改善了。但是,企業在應用了ERP以後,管理的精度和側重點就完全不一樣了,因為ERP系統可以自動歸集材料成本,自動計算人工成本和製造費用的分攤,不再只是一個所謂的【平均值】,每個個產品甚至每一張訂單的成本都可以精確地計算出來,我們知道成本會計的工作重點不再是核算成本,而是對成本產生過程的監控進而追溯,也對可能產生的異常情況進行預測和預防警惕,並在成本計算完成後對成本異常的數據分析原因並解決,這樣一步步地降低成本,在所有第一步就是要利用ERP來計算各種成本,只有有了這些數據才能發現問題和設定改善目標。

        再來通常,計算完成本我們就會發現很多的異常情況,比如有些訂單產品的材料按標準投入,產出卻遠遠高於預計的產量,有些訂單產品有材料投入卻沒有產出,更或者有些訂單超產特別大,而有些訂單卻沒有生產數據,所有這些異常發生的原因在在車間管理不規範造成的,車間存在挪料或不按生產計劃領料,不按生產任務單入庫的情況。如果ERP上線的時候顧問有特別的說明提醒或者成本會計有經驗,在一開始就嚴格要求車間規範作業,這種情況就會比較少發生,但很多企業做不到這一點。發現這些異常後,成本會計自然會去去,在追問問題的過程中,一方面讓相關部門,尤其是製造部門更加熟悉了解規範化作業流程的重要性,同時也讓這些部門人員慢慢樹立起成本意識,養成節省成本的觀念和習慣。

       ERP能精確計算產品成本,成本產生的過程ERP是否就無能為力了呢?非常.ERP計算成本只是減少了人工計算的工作量和增加了計算的精確度,過程控制才是ERP能產生效益的最大通常,材料成本在製造行業的產品成本中佔了絕大部分,而ERP可用於控製材料成本但是非常有效的一個面,在材料領用的時候,ERP可以按產品BOM的標準用量控製材料的領用,不可以隨意超標;而對於因為報廢等原因造成的材料超耗,ERP按設定的特殊流程處理,在這個流程中,所設定的審查和知會人員跟正常另一方面,當車間材料的領用都很規範後,我們就可以非常容易地檢查BOM數據的精度,因為我們完全可以根據領料的數量和產出,及車間剩餘的庫存來檢驗BOM是偏大,偏小或者剛好。這樣一來,成本控制的源頭就更加精確。在此基礎上,再去分析各項材料是否還有壓縮的空間,配套相關的操作規程和工具,方法,進一步節省成本。我們有個客戶就做到了這一點,在該企業的車間領用材料中,有個材料就是我們常用的膠帶,通常很多企業認為它的成本低用也不是特別大,所以在管理上也不重視,但這家企業是這樣做的:在需要使用的工序上,劃出刻度,然後給相關的作業人員培訓,做什麼產品用多少厘米毫米、公分、臺尺)的長度,這樣做以後,一卷膠帶可以做多個產品基本上都可以計算出來,可見其管理的深度。當然,這些改善的結果最後還是會反饋到ERP系統中,讓ERP來控制。




(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen


2016年9月30日 星期五

何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】

       現在企業公司行號幾乎多少都會導入管理軟體(不論是是買現成的套裝軟體、請軟體顧問公司導入系統、企業內部自行研發)的手段來提升企業營運管理水平、降低作業成本、提高客戶滿意度或企業市場競爭力,當然因為透過軟體提升的價值,已受到越來越多的企業認可。
Unknown

    企業業務資料管理軟體,主要有以下三大分類:倉庫管理軟件(WMS)、進銷存管理系統、ERP(企業資源規劃),那麼到底它們有什麼區別和關聯性呢?在這裡我想根據個人從業經驗做個簡單的總結歸納: 

  一、功能上的共性
      WMS、ERP、進銷存軟體都包含倉庫管理模塊,這是這三個軟件的最大共性。
      倉儲管理(包括原料、半成品、成品管理)又恰恰是多數企業內部管理中最重要的部分:採購、生產、銷售都是以庫存管理為連接點,庫存也是生產企業的最重要的成本。這也是三大管理軟體讓人產生混淆的原因。


  二、功能上的區別 
     1、ERP:
        (1)支持財務會計的精細化管理。通常起源於財務系統,所以對財務會計有精細化的支持,很多ERP中的財務模塊都經過了國家財務部門的認證。
        (2)產品結構管理(BOM)。 ERP參與銷售計劃、採購計劃、生產計劃的管理,BOM就成為物料需求計劃的基礎。
        (3)物料需求計劃(MRP)。由成品銷售計劃,生成原材料的採購計劃和半成品、成品的生產計劃。除了BOM的計算外,還涉及到採購在途、半成品庫存、成品庫存、   生產在途、外協在途等所謂“8大量”複雜參與計算。


       2、進銷存管理軟體:
         可以理解為減少了BOM和MRP功能的ERP。
         BOM和MRP是ERP的精髓,但是在國內多數企業中,物料需求因為企業內部、外部的諸多原因,不能“計算”出來(比如原材料的採購計劃,和供應商的供應週期很大關係,也涉及到企業對外部市場的分析,例如:加大緊俏物質的採購量等),所以BOM和MRP成為“看上去很美”的功能,在很多企業的ERP項目實施中,其實都沒有使用到這個功能,實際上只是一個進銷存系統而已。


       3、WMS:
       和進銷存管理系統(軟體)比較,專業的WMS有以下功能變化:

      (1)加入了更多的作業策略管理和精細化作業
具體的說,進銷存軟體是對企業的業務數據進行“事後記錄”,有貨品出入庫時,在進銷存軟件中進行登記和單據打印。而WMS需要在業務實際發生前做出操作指引,比如說上架建議、揀貨策略等等,根據軟體設定的規則做智能化的分析,形成倉管員的最優化的操作指引。軟件的操作記錄,也更能反應實際情況,比如進銷存軟件往往不能支持一種物料入庫時擺放到多個倉儲位的情形,只簡單給一個倉儲位(WMS是在物料入庫前,就自動分析出需要擺放多個倉儲位和具體的、最優化的推薦倉儲位)。


      (2)弱化了價格和財務管理功能
       專業的WMS往往應用在第三方物流企業,所以物料進倉時不必關注採購價格,而是關注倉租費等物流費用的計算,所以WMS弱化了價格和財務管理。當然wms也會應用到製造企業。因為價格和財務管理在很多製造企業中是獨立運作的,加上財務管理本身的規範性和財務軟件的標準化,所以很多中型的製造企業採用的是“倉庫管理軟體+財務管理軟體“的模式進行管理。


      (3)增加了“計費引擎”模塊
WMS增加了獨有的“計費引擎”模塊,為物流計費提供支持。物流行業的計費規則往往非常複雜,比如倉儲企業的倉租費用就包括:包倉、重量、托盤數、體積、物料屬性、入庫時間、期間天數等多個條件的排列組合,同時在加打折、分級價格等等因素,計費引擎的技術含量不亞於ERP的MRP計算。在製造企業中,計費引擎也可以幫助企業進行成本分析,計算倉庫的使用成本。




(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異

ERP 系統的淺談與優勢





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen


2016年9月22日 星期四

企業營運管理軟體-需求永遠就是缺少那麼一點點程式功能【軟體開發、程式開發、程式設計】

      公司在承包專案、量身定做開發客戶的企業軟體多年,在接案驗收過程中,10件有8件專案,客戶的使用者總是想要再多增加那個功能、這個功能,好像沒有導入系統軟體是都沒有需求,但導入後,期待需求越來越多…當然在我們、以及客戶來說,都是成本的增加(不過總是有些客戶….認為預算無法增加,功能要無止境增加,客官….軟體開發真的是很辛苦的….XD)

images

      就是因為系統功能是靜態的不變的,該有幾支程式功能就是那幾支程式功能在那裡,可是企業的經營是動態的、不斷地與時俱進,所以企業組織會改變,明天老闆、主管要的報表會不一樣,後天可能要刮風或下雨各種突發原因,企業就是這樣一直動態的向前進。組織改變可以重新設定部門組織檔,流程改變可以調整系統參數,但是老闆要的報表是天天在變,天天寫報表也不是辦法!
 
為了因應這樣的狀況,市場上出現了BI (Business Intelligence,商業智慧)的軟體,還有報表產生器(例如Crystal Report)…等等的軟體、以及各種大數據分析平台,這些都是很好的商用軟體與工具,但是這些軟體很顯然的有下列幾項要求:
1.這些軟體是提供給IT人員設定、維護,再提供給User使用的。
2.需要額外投資一筆軟體建置費用。
3.艱深如BI的軟體,還需要龐大的顧問導入費用。
4.需要具有一定專業技術的人才。

所以對於這樣單次性、個別性、或變化性高的報表,使用者的內在需求往往是,我只是要把畫面上的資料可以轉到EXCEL上,再讓我加工處理就好了。在BI、數據分析軟體建置之前,在IT人員設計開發報表之前,這麼簡單的需求難道我還需要等嗎?
 
      歷經多年的IT打滾經驗後,我遇到客戶的使用者提出這樣的要求,常常有時候,我只能告訴他,這樣吧,我把Table schema給你,再教你寫些簡單的SQL Select的statement;我跟當年創造SQL指令的宗旨一樣的天真,認為這樣就應該已經解決他的問題了。事實上這樣的工作,對於非專業的IT人員來說,是非常非常的困難;對於IT人員來說,又是一件非常非常無趣的工作,因為他從來不知道他做這件事情的意義。

假如,你的ERP可以很彈性的把畫面上的資料轉到EXCEL,是不是就解決掉ERP系統『永遠缺少的那一支程式』的問題,最好可以做到下列幾項要求:
1.可以指定要轉出的資料條件(Records);可以指定要轉出的資料項(Fields)。
2.可以用List的方式轉出,以便統計分析,例如銷售明細月報表。
3.可以用Report的方式轉出,以便套印單據,例如Invoice、Packing List、…。
4.最好可以套用EXCEL範本,把資料轉到已事先做好的樞紐分析表、或Invoice格式之中,


這樣就可以不用每次轉出後都要再加工一次。

PS.Excel 真的也是事後梳理資料的好工具….但絕對是要先有好的流程企業管理軟體,在各種單位部門、流程控管整合所有表單單據、系統累積了營運管理數據,就可以真正達到【數字管理】目標了。

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

系統分割 - 無法刪除 使用 diskpart 指令 (軟體開發、軟件開發、程式開發)

 今天 Allen 我在整理公司機房的機器設備,也把多年專案開發的系統要做備份,順道買了一個行動硬碟 4 T的容量,但在 MAC Pro 先進行格式化後,再插入回 Windows 作業系統環境後,使用磁碟管理發現該顆硬碟最前面出現200MB的EFI磁碟分割,而磁碟管理圖形界面無法進行刪除該多餘磁碟分割,雖然才 200 M,但就覺得浪費了空間,所以忽然想到使用 DiskPart 指令,以下就是簡單的指令操作步驟教學… 
diskpart-list-volume

我們要如何刪除多餘的EFI磁碟分割呢?

此時選擇[開始] -> [執行], 執行"cmd"出現終端機視窗

此時輸入 diskpart 指令並按[Enter]鍵

DISKPART> list disk

磁碟###   狀態         大小        可用     Dyn  Gpt
--------      ----------   -------     -------   ---    ---
磁碟 0       連線         1000 GB   0 B
磁碟 1       沒有媒體   0 B         0 B
磁碟 2       沒有媒體   0 B         0 B
磁碟 3       連線         37 GB     37 GB   *


DISKPART> select disk 3

磁碟 3 是所選擇的磁碟。

DISKPART> list partition

磁碟分割 ###   類型                大小         位移
----------------   ----------------  -------       -------

磁碟分割 1        系統                200 MB    20 KB

DISKPART> clean

DiskPart 成功地清理了磁碟。

DISKPART> exit

最後再使用 clean 指令清除磁碟時務必確定選擇的磁碟是否正確。




網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年9月1日 星期四

導入ERP 管理軟體,對企業的影響

    對於 ERP 對企業的深層影響,可以根據企業的外部競爭環境和內部管理兩個方面來探討,因為企業就是要用ERP來解決目前存在的問題。

images

1. 企業的外部競爭環境
1)數據資訊爆炸:資料訊息爆炸概念在20世紀80年代就常常見諸於國外報刊雜誌,由於當時互聯網技術的發展和應用,對社會和企業的衝擊不像今天感覺這樣強烈。今天互聯網技術的發展和應用,資料訊息爆炸是一個再也不能不警覺和迴避的事實。資料及資訊技術對未來社會的影響、尤其對企業的影響無論怎樣估計都不過分。

2)競爭對手的競爭實力進一步增加:一方面原材料價格變化、產品需求變化快、市場難以預測等不利因素的影響,增大了企業經營的難度。另一方面又要求企業滿足客戶對產品的短交貨期,高質量,低價格和完善的售後服務的需求。
3)技術進步的速度加快:新技術、新產品的不斷湧現,一方面使企業受到空前未有的壓力,另一方面也使每個企業員工受到巨大的挑戰,企業員工必須不斷地學習,否則他們將面臨由於掌握的技能過時而遭淘汰的壓力。
4)高新技術的使用範圍越來越廣:全球高速信息網使所有的信息都極易獲得,而更敏捷的教育體係將越來越多的人能在越來越少的時間內掌握新技術。面對一個機遇,可以參與競爭的企業越來越多,從而大大加劇了國際競爭的激烈性。
5)全球化、網路無國界:所謂全球化,可用三句話來概括,就是全球貿易、全球採購和全球製造。 隨著網際網路與4G覆蓋全面化,實際上為我們創造了非常好的生存空間和發展機會。
6)產品的研發難度越來越大,費用越來越高。
7)可持續發展的要求:環境的破壞,資源的浪費,已為人類的生存帶來了極大的挑戰。企業如何面對製造資源的日益短缺並獲取經濟效益,是企業製定戰略時必須考慮的問題。
8)用戶的要求越來越苛刻。客戶的需求越來越個性化,小批量、短交貨期、高質量、低價格和售後服務好是大趨勢。
在全球競爭激烈的大市場中,企業要想生存和發展,首先必須加強內部管理,然而傳統的管理手段,零散的計算機管理系統顯然不能滿足這一要求。企業所面臨的外部環境和內部環境發生了很大變化,面對這些變化,沒有先進的管理手段和工具幫助企業改善和提高管理,必然出現下列一些問題:
7)市場和客戶需求多變和快速,使企業的經營和計劃系統難以適應。生產與採購部門希望有一個長期穩定的生產計劃,以確保長期的人力和物料供應,確保物料供應的優秀外協廠家,以提高生產效率。然而,在競爭市場中,客戶需求多變是必然的和正常的,為了滿足客戶多變的需求,必然會引起生產計劃的多變、人力多變、物料供應多變、企業的經營和計劃難以適應。

2. 企業的內部管理需要
1)企業領導由於沒有一個能提供快速、準確和全面的信息來源渠道和沒有一個能提供預測、分析和處理信息的專家管理系統,常常導致在決策過程中的猶豫不決、遲緩和失誤,以致於喪失了許多寶貴的機會。
2)企業在生產經營狀態發生了很大變化,產品由單一性向多樣性轉化、小規模向大規模轉化、很多問題需要及時處理的時候,由於各部門、各環節沒有一個對信息全面、快速的傳送和反饋的管理系統,以致於問題不能根本解決、矛盾不能及時處理、生產發生混亂、客戶需求不能滿足等等。
3)生產上所需要的原材料不能準時供應或供應不足。由於採購、庫存與生產配合不夠密切,客戶需求的多變,生產計劃不得不跟著變動,加工時只能用緊急訂貨來應急,採購人員壓力較大,原材料供應不夠及時,導致生產線停工待料。
4)零部件生產不配套、積壓嚴重。由於生產計劃安排困難,生產進度不均衡,生產的零部件不配套,生產線上用的已購零部件可能要轉給其它產品去使用。這樣,將會使產品與產品之間、產品批號之間產生錯綜複雜的關係,甚至原來待用的零部件都會成為呆滯物料,產生零部件的積壓。
5)產品生產週期過長,勞動生產率下降。生產上所需的零部件的不配套,將會引起生產活動紊亂,生產週期長。
6)資金積壓嚴重,周轉期長。為了保證生產的不停產及應付緊急訂貨,往往會以加大庫存的方法來應付,這樣的話,在製品積壓增多,庫存資金佔用嚴重,資金周轉天數增加。
8)質量管理中對待處理品、代用品及不合格品往往涉及的部門較多,因此導致了審批環節較多,審批時間過長,影響了企業的正常生產經營活動。
9)由於市場需求多樣化,導致企業的產品種類繁多,不通用的零部件比比皆是,給庫存管理、採購管理、生產管理、新產品開發管理帶來了極大的麻煩。
10)由於不能及時了解客戶的信用狀況,企業的資金狀況不能有效規劃,及時地控制超信用額度發貨、應收款超時收回。
以上10個問題是企業經常碰到的一些問題,企業在激烈的市場競爭和日趨複雜的內外部環境中,傳統的人工管理或局部的電腦化管理普遍存在著業務數據信息重複、混亂、不准確、不暢通、不能共享,歷史數據不易查找,信息反饋不及時等弊端。從而造成了企業庫存儲備高,物資供應不能保證,流動資金佔用大,交貨期長而不准,設備利用率和工時利用率低下,生產柔性差,生產成本高、週期長,生產效益差,產品更新換代慢,企業整體應變能力差等問題。
企業所面臨的這些需要解決的棘手問題,是普遍存在的。企業是一個有機的整體,企業中的各個部門的工作是彼此聯繫、相互影響的,都是不可忽視的環節,不論哪個環節失誤都會引起一連串的麻煩和問題。如果把企業這些環環相扣,互有影響的工作都按照一定的規律、方法和手段管理好,對企業的所有資源進行科學的調配和計劃,並得到充分地利用,以上所出現的問題就能夠得到有效的控制和解決。
從上述的分析來看,一個最突出的問題是,在企業的生存和發展面臨著空前的機遇和極大的挑戰。要想獲得更大的生存和發展空間,企業就必須用新的思維、新的觀念、新的方式來應對外部競爭和內部管理兩大挑戰,特別是要充分的認識到:企業資源充分地利用就是為企業創造最大的財富。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年8月29日 星期一

開發客戶的ERP管理軟體(窗簾、窗材、設計、壁紙商用軟體)

      今年網智數位-開發團隊,突破了承包了不同的行業應用軟體、整合各種領域的技術團隊,包含目前最夯的 VR、AR 軟體開發專案、Android 開發、影片傳輸壓縮、加解密等等,但今天 Allen 想特別再提傳統運用的 ERP管理系統,我們今年也陸續承包了窗簾、窗材、壁紙、室內設計業的 ERP委外開發案。

1453878967

     開發 ERP的軟體專案時,Allen 我幾乎都是親自下來設計架構、流程、ERD、資料表定義,也會在可以的情況下,再怎麼晚都會跟客戶端開會討論到徹底了解(窗簾老闆真的很認真,真的討論到半夜凌晨,可以在工廠過夜了XD….因為真的期待一個好的管理軟體可以提升公司效率),客戶遇到的問題點、例如產品多樣化組合、庫存管控、上下游廠商訂單/採購單的傳遞、成本計算、不同等級客戶的銷售價格區分、還有業務收賬不透明不及時,造成帳款有差異,有時這樣的損失真的很大、也困擾著客戶,所以在開發ERP商用管理軟體時,著重的反而不是程式技術層面(當然也是重要),但更重要的要有相當多的流程知識、經驗、財務會計知識、製程領用料、BOM表管理、產品組合管理、移入/移出單據、生產期間天數控管、採購天數、進貨數量與天數控管等等,這些都是在經營一家企業、公司、工廠非常重要的資料數據,如果一個可以真的可以整合該產業的流程、產品特性,進行數據的整合管理,達到真正的【數字管理】

     然而在開發商用管理軟體、ERP、MRP、進銷存管理軟體、CRM等,跟客戶的溝通協調,往往大於其他軟體專案,因為真的了解與覺得遇到管理瓶頸的一定是委託方(客戶),但也因為這樣相較於其他軟體開發案在時間控管上,開發人力成本與時間最容易失去控制,因為流程會改、需求開發過程中再次產生新需求、企業文化、管理流程的衝擊等等因素,所以導入ERP專案時,必須真的需要雙方客戶不斷互相學習、溝通、協調、分階段測試上線,不夠往往我們的經驗是上線一定時間後,客戶對我們的感謝,也大過於其他專案,所以開發與導入 ERP,雙方都是要用互相信任、努力堅持、相信專業、深刻體會管理問題的角度去執行。



其他參考資料 
新技術、新科技、ERP的重要性將是更重要
[ ERP/MRP 系統 ] - 專案導入深入剖析
BOM表管理與設定﹣輔料是否需輸入BOM
庫存量正確性衡量法則
真正的庫存量形成探討
庫存管理-概念與釐清
MRPⅡ/ERP 能力需求計畫原理
MPS主生產計畫專文介紹(一)




網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年8月4日 星期四

伺服器被攻擊後的處理措施

     安全總是相對的,再安全的服務器也有可能遭受到攻擊。作為一個安全運維人員,要把握的原則是:盡量做好系統安全防護,修復所有已知的危險行為,同時,在系統遭受攻擊後能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統產生的影響。

hacker_internet_web_attack-100033459-medium


一、處理服務器遭受攻擊的一般思路
系統遭受攻擊並不可怕,可怕的是面對攻擊束手無策,下面就詳細介紹下在服務器遭受攻擊後的一般處理思路。
1.必須馬上切斷網絡
所有的攻擊都來自於網絡,因此,在得知系統正遭受黑客的攻擊後,首先要做的就是斷開服務器的網絡連接,這樣除了能切斷攻擊源之外,也能保護服務器所在網絡的其他主機。
2.開始試著查找攻擊源
可以通過分析系統日誌或登錄日誌文件,查看可疑信息,同時也要查看系統都打開了哪些端口,運行哪些進程,並通過這些進程分析哪些是可疑的程序。這個過程要根據經驗和綜合判斷能力進行追查和分析。下面的章節會詳細介紹這個過程的處理思路。
3.進行分析入侵原因和途徑
既然系統遭到入侵,那麼原因是多方面的,可能是系統漏洞,也可能是程序漏洞,一定要查清楚是哪個原因導致的,並且還要查清楚遭到攻擊的途徑,找到攻擊源,因為只有知道了遭受攻擊的原因和途徑,才能刪除攻擊源同時進行漏洞的修復。
4.一定必須備份用戶數據
在服務器遭受攻擊後,需要立刻備份服務器上的用戶數據,同時也要查看這些數據中是否隱藏著攻擊源。如果攻擊源在用戶數據中,一定要徹底刪除,然後將用戶數據備份到一個安全的地方。
5.重新安裝系統
永遠不要認為自己能徹底清除攻擊源,因為沒有人能比黑客更了解攻擊程序,在服務器遭到攻擊後,最安全也最簡單的方法就是重新安裝系統,因為大部分攻擊程序都會依附在系統文件或者內核中,所以重新安裝系統才能徹底清除攻擊源。
6.修復程序或系統漏洞
在發現系統漏洞或者應用程序漏洞後,首先要做的就是修復系統漏洞或者更改程序bug,因為只有將程序的漏洞修復完畢才能正式在服務器上運行。
7.恢復數據和連接網絡
將備份的數據重新復製到新安裝的服務器上,然後開啟服務,最後將服務器開啟網絡連接,對外提供服務。
二、檢查並鎖定可疑用戶
當發現服務器遭受攻擊後,首先要切斷網絡連接,但是在有些情況下,比如無法馬上切斷網絡連接時,就必須登錄系統查看是否有可疑用戶,如果有可疑用戶登錄了系統,那麼需要馬上將這個用戶鎖定,然後中斷此用戶的遠程連接。
1.登錄系統查看可疑用戶
通過root用戶登錄,然後執行“w”命令即可列出所有登錄過系統的用戶,如下圖所示。

wKioL1ei-aqgJ0VUAAB84CpIZOQ223

通過這個輸出可以檢查是否有可疑或者不熟悉的用戶登錄,同時還可以根據用戶名以及用戶登錄的源地址和它們正在運行的進程來判斷他們是否為非法用戶。
2.鎖定可疑用戶
一旦發現可疑用戶,就要馬上將其鎖定,例如上面執行“w”命令後發現nobody用戶應該是個可疑用戶(因為nobody默認情況下是沒有登錄權限的),於是首先鎖定此用戶,執行如下操作:
[root@server ~]# passwd -l nobody
鎖定之後,有可能此用戶還處於登錄狀態,於是還要將此用戶踢下線,根據上面“w”命令的輸出,即可獲得此用戶登錄進行的pid值,操作如下:
[root@server ~]# ps -ef"grep @pts/3
531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3
[root@server ~]# kill -9 6051
這樣就將可疑用戶nobody從線上踢下去了。如果此用戶再次試圖登錄它已經無法登錄了。
3.通過last命令查看用戶登錄事件
last命令記錄著所有用戶登錄系統的日誌,可以用來查找非授權用戶的登錄事件,而last命令的輸出結果來源於/var/log/wtmp文件,稍有經驗的入侵者都會刪掉/var/ log/wtmp以清除自己行踪,但是還是會露出蛛絲馬跡在此文件中的。
三、查看系統日誌
查看系統日誌是查找攻擊源最好的方法,可查的系統日誌有/var/log/messages、/var/log/secure等,這兩個日誌文件可以記錄軟件的運行狀態以及遠程用戶的登錄狀態,還可以查看每個用戶目錄下的.bash_history文件,特別是/root目錄下的.bash_history文件,這個文件中記錄著用戶執行的所有歷史命令。
四、檢查並關閉系統可疑進程
檢查可疑進程的命令很多,例如ps、top等,但是有時候只知道進程的名稱無法得知路徑,此時可以通過如下命令查看:
首先通過pidof命令可以查找正在運行的進程PID,例如要查找sshd進程的PID,執行如下命令:
1 2 [root@server ~]# pidof sshd 13276 12942 4284
然後進入內存目錄,查看對應PID目錄下exe文件的信息:
1 2 [root@server ~]# ls -al /proc/13276/exe lrwxrwxrwx 1 root root 0 Oct 4 22:09 /proc/13276/exe -> /usr/sbin/sshd
這樣就找到了進程對應的完整執行路徑。如果還有查看文件的句柄,可以查看如下目錄:
[root@server ~]# ls -al /proc/13276/fd
通過這種方式基本可以找到任何進程的完整執行信息,此外還有很多類似的命令可以幫助系統運維人員查找可疑進程。例如,可以通過指定端口或者tcp、udp協議找到進程PID,進而找到相關進程:
1 2 3 4 5 6 7 8 9 [root@server ~]# fuser -n tcp 111 111/tcp: 1579 [root@server ~]# fuser -n tcp 25 25/tcp: 2037 [root@server ~]# ps -ef|grep 2037 root 2037 1 0 Sep23 ? 00:00:05 /usr/libexec/postfix/master postfix 2046 2037 0 Sep23 ? 00:00:01 qmgr -l -t fifo -u postfix 9612 2037 0 20: 34 ? 00:00:00 pickup -l -t fifo -u root 14927 12944 0 21:11 pts/1 00:00:00 grep 2037
在有些時候,攻擊者的程序隱藏很深,例如rootkits後門程序,在這種情況下ps、top、netstat等命令也可能已經被替換,如果再通過系統自身的命令去檢查可疑進程就變得毫不可信,此時,就需要藉助於第三方工具來檢查系統可疑程序,例如前面介紹過的chkrootkit、RKHunter等工具,通過這些工具可以很方便的發現系統被替換或篡改的程序。
五、檢查文件系統的完好性
檢查文件屬性是否發生變化是驗證文件系統完好性最簡單、最直接的方法,例如可以檢查被入侵服務器上/bin/ls文件的大小是否與正常系統上此文件的大小相同,以驗證文件是否被替換,但是這種方法比較低級。此時可以藉助於Linux下rpm這個工具來完成驗證,操作如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@server ~]# rpm -Va ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5....T c /etc/sysctl.conf S.5....T /etc/sgml/docbook-simple.cat S.5....T c /etc/login.defs S.5..... c /etc/openldap/ldap.conf S.5....T c /etc/sudoers ..5....T c /usr/lib64 /security/classpath.security ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5..... c /etc/ldap.conf S.5....T c /etc/ssh/sshd_config
對於輸出中每個標記的含義介紹如下:
S 表示文件長度發生了變化
M 表示文件的訪問權限或文件類型發生了變化
5 表示MD5校驗和發生了變化
D 表示設備節點的屬性發生了變化
L 表示文件的符號鏈接發生了變化
U 表示文件/子目錄/設備節點的owner發生了變化
G 表示文件/子目錄/設備節點的group發生了變化
T 表示文件最後一次的修改時間發生了變化
如果在輸出結果中有“M”標記出現,那麼對應的文件可能已經遭到篡改或替換,此時可以通過卸載這個rpm包重新安裝來清除受攻擊的文件。
不過這個命令有個局限性,那就是只能檢查通過rpm包方式安裝的所有文件,對於通過非rpm包方式安裝的文件就無能為力了。同時,如果rpm工具也遭到替換,就不能通過這個方法了,此時可以從正常的系統上複製一個rpm工具進行檢測。
對文件系統的檢查也可以通過chkrootkit、RKHunter這兩個工具來完成,關於chkrootkit、RKHunter工具的使用,下次將展開介紹。

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年7月31日 星期日

VR 虛擬實境 程式開發合作案 【軟體開發(軟件開發)】

        非常感謝 清華同方集團電腦科技大廠在評估多家軟體公司開發經驗與團隊技術下,決定委託網智數位開發團隊進行程式開發 VR虛擬實境、Android APP軟體委外開發案、Windows 桌面應用軟體、智能設備遠端控制 一系列的專案委託案。
imagesimages (1)
       我們一直突破開發技術、累積各種產業知識,而且在窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。
     
網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年7月20日 星期三

網咖控制程式 - 軟體開發(軟件開發)

          近來陸續在談一個合作案,需要類似的網咖系統開發經驗,剛好我團隊有這方面豐富的經驗,因此也積極爭取合作的可能性,我團隊在軟體開發上面幾乎都是量身定做,尤其在商業軟體上在各特殊產業都是量身定做,並且投入相當大的分析能力,了解企業的領域知識、產品知識、企業流程,事實上這是極度花費腦力的過程,就連最簡單的企業報價與成本計算,常常我們遇到就需要分析很多零件、採購、人力知識,而這些都不是一般套裝軟體可以克服以及考慮到的,不過我團隊的深入了解需求、討論再討論,做到客戶喜歡用的軟體….

13690575_10206378717780023_5745537522239199354_n

13718698_10206378717860025_7464869737724020489_n

13754233_10206378717820024_2884354579424784502_n

           上圖軟體部分截圖,是我團隊開發的網咖程式,我們這方面的經驗可以協助客戶,集中式管理使用者的電腦,可以用在 AR/VR、飯店式管理系統應用等產業領域,如果有這方面需求,歡迎與我們聯繫。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年4月14日 星期四

Android 實作教學 - 隨機驗證碼(軟體開發)

一、問題描述
熟悉web開發中高手們都知道為了防止惡意破解、惡意提交、刷票等我們在提交表單資料時,都會使用隨機驗證碼功能。在Android應用中我們同樣需要這一功能,該如何實現呢,下面我們就自定義一個隨機驗證碼View控件實現這一需求,並且具備通用性,需要的時候在界面中直接加入這個View組件即可。

下載
二、案例介紹
案例運行效果
案例所涉及組件
1、CheckView 自定義的驗證碼控件,主要重寫onDraw方法實現圖形繪製
2、Config:用於對驗證碼控件參數的配置,像畫點點數、劃線數、背景顏色的設置
3、CheckUtil:驗證碼相關工具類,實現例如隨機的點坐標、隨機線段起始和結束點坐標、驗證碼校驗等功能
4、MainActivity:測試應用
三、功能實現
1、撰寫 Config 組件
/*** 功能:用於對驗證碼控件參數的配置
* */public class Config
{ // 驗證碼更新時間 public static final int PTEDE_TIME = 1200;
  // 點數設置 public static final int POINT_NUM = 100;
  // 線段數設置 public static final int LINE_NUM = 2;
  //設置背景顏色 public static final int COLOR=Color.BLUE; //隨機數據長度 public static int TEXT_LENGTH=4;
  //設置驗證碼字體大小 public static int TEXT_SIZE=30;
  }

2、CheckUtil組件
/*** 功能:驗證碼相關工具類
* */public class CheckUtil
{ /** * 產生隨機數字 * @return
*/ public static int [] getCheckNum()
{ int [] tempCheckNum = new int[Config.TEXT_LENGTH];
   for(int i = 0; i < Config.TEXT_LENGTH; i++)
{ tempCheckNum[i] = (int) (Math.random() * 10);
   }
  return tempCheckNum; }
/**
* 隨機產生劃線的起始點坐標和結束點坐標
* @param height 傳入CheckView的高度值
* @param width 傳入CheckView的寬度值
* @return 起始點坐標和結束點坐標
*/ public static int[] getLine(int height, int width)
{ int [] tempCheckNum = {0,0,0,0};
  for(int i = 0; i < 4; i+=2)
{ tempCheckNum[i] = (int) (Math.random() * width); tempCheckNum[i + 1] = (int) (Math.random() * height); }
return tempCheckNum; }
/**
* 隨機產生點的圓心點坐標
* @param height 傳入CheckView的高度值
* @param width 傳入CheckView的寬度值
* @return
*/ public static int[] getPoint(int height, int width)
{ int [] tempCheckNum = {0,0,0,0}; tempCheckNum[0] = (int) (Math.random() * width); tempCheckNum[1] = (int) (Math.random() * height ); return tempCheckNum; }
/**
* 驗證是否正確
* @param userCheck 用戶輸入的驗證碼
* @param checkNum 驗證控件產生的隨機數
* @return
*/ public static boolean checkNum(String userCheck, int[] checkNum){ if(userCheck.length() != 4 )
{
      return false; } String checkString = "";
  for (int i = 0; i < 4; i++)
{ checkString += checkNum[i]; }
  if(userCheck.equals(checkString))
{ return true; }
  else { return false; }
}
/**
* 計算驗證碼的繪製y點位置
* @param height 傳入CheckView的高度值
* @return
*/ public static int getPositon(int height)
{ int tempPositoin = (int) (Math.random() * height);
   if(tempPositoin < 20){ tempPositoin += 20; }
  return tempPositoin; }
}

3、自定義驗證碼控件CheckView
public class CheckView extends View
{

  Context mContext;
int [] CheckNum = null;
Paint mTempPaint = new Paint();
 
// 驗證碼
public CheckView(Context context, AttributeSet attrs)
{
super(context, attrs);
mContext = context; mTempPaint.setAntiAlias​​(true);
mTempPaint.setTextSize(Config.TEXT_SIZE);
mTempPaint.setStrokeWidth(3);
}

public void onDraw(Canvas canvas)
{
canvas.drawColor(Config.COLOR);
final int height = getHeight();

//獲得CheckView控件的高度
final int width = getWidth();
//獲得CheckView控件的寬度
int dx = 40;
for(int i = 0; i < 4; i ++)
{
//繪製驗證控件上的文本
canvas.drawText("" + CheckNum[i], dx, CheckUtil.getPositon(height), mTempPaint);
dx += width/ 5;
}

int [] line;

for(int i = 0; i < Config.LINE_NUM; i ++)
{
//劃線
line = CheckUtil.getLine(height, width);
canvas.drawLine(line[0], line[1], line[2], line[3], mTempPaint); }
 
// 繪製小圓點 int [] point; for(int i = 0; i < Config.POINT_NUM; i ++)
{
//畫點
point=CheckUtil.getPoint(height, width);
canvas.drawCircle(point[0], point[1], 1, mTempPaint);
}
}

public void setCheckNum(int [] chenckNum)
{
//設置驗證碼
CheckNum = chenckNum;
}
public int[] getCheckNum()
{
    //獲得驗證碼
    return CheckNum;
}
public void invaliChenkNum()
{
 
invalidate(); }
}


4、編寫MainActivity測試代碼
public class MainActivity extends Activity implements View.OnClickListener
{
private CheckAction mCheckView ;
private TextView mShowPassViwe;
private EditText mEditPass;
private Button mSubmit;
private Button mRef;

// 驗證碼:
private int [] checkNum =null;

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
    initView(); initCheckNum();
}

public void initView()
{
mCheckView = (CheckView) findViewById(R.id.checkView);
mShowPassViwe = (TextView) findViewById(R.id.checkpass);
mEditPass = (EditText) findViewById(R.id.checkTest);
mSubmit = (Button) findViewById(R.id.submit);
mRef = (Button) findViewById(R.id.ref);
mSubmit.setOnClickListener(this);
mRef.setOnClickListener(this);
}

// 初始化驗證碼並且刷新界面
public void initCheckNum()
{
checkNum = CheckUtil.getCheckNum();
mCheckView.setCheckNum(checkNum);
mCheckView.invaliChenkNum();
}

public void onClick(View v)
{

switch (v.getId())
{
    case R.id.submit:
    String erInput = mEditPass.getText().toString();
if(CheckUtil.checkNum(userInput, checkNum))
{
setPassString("通過");
Toast.makeText(this, "通過", 1200 ).show();
}
else
{
setPassString("未通過");
Toast.makeText(this, "未通過", 1200).show();
}
break;
case R.id.ref: initCheckNum();
break;
default: break;
}

}

public void setPassString(String passString)
{
mShowPassViwe.setText(passString);
}

}


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫行動號碼:0920-883-870
黃先生 Allen