時間:2022-07-02 12:55:27
導語:在信息管理的撰寫旅程中,學習并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內容能夠啟發(fā)您的創(chuàng)作靈感,引領您探索更多的創(chuàng)作可能。
“業(yè)務分析”理念是業(yè)務科技時代對企業(yè)的迫切要求。在業(yè)務科技時代,技術與業(yè)務不再是互相獨立的領域,技術越來越成為業(yè)務賴以發(fā)展的根本。據IDC早些時候的預測,2008年業(yè)務分析軟件市場將增長3.45%,規(guī)模達到230億美元,并且2009年有望實現進一步增長;2008年業(yè)務分析軟件和服務市場的規(guī)模達到約590億美元;分析咨詢業(yè)務將增長2%,規(guī)模達450億美元。IBM信息管理軟件(InformationManagement,IM)的未來戰(zhàn)略也瞄準了這一領域,提出將以業(yè)務分析市場作為今后的發(fā)展重點。
要對業(yè)務進行精確分析,首先要了解信息現狀,現在信息有三個變化方向:更透徹的感應和度量、更全面的互聯互通以及更深入的智能洞察。以“更深入的智能洞察”為例,它表現為對數據的處理、分析。隨著信息技術的成熟和不斷發(fā)展,大規(guī)模計算機集群、云計算將成為人們可負擔得起的數據處理手段,更大程度的利用數據、提取信息,從中獲取洞察力,就可以更靈活而明智的做出決策。
新銳洞察其實涉及四個方面:第一,怎么從巨大的信息量里新銳洞察信息,這不僅包括傳統數據庫里的信息,還包括流計算信息,這些信息是不斷地過來,然后實時執(zhí)行分析。第二,對于信息的預測,從被動反應到主動預測信息、探知信息,包括信息的預測方面。第三,從供應鏈里通過掌握更多信息,能夠增強客戶價值。第四,快速地創(chuàng)建一些價值,傳統的可能花四五步才能決定一些事情,現在通過新的方式可能通過一兩步就可以很快掌握一些狀況。
以第一個方面為例,今年五月IBM推出“IBM System S”的新軟件可實現海量數據的實時分析,為用戶提供高速準確的洞察,助力更智慧的業(yè)務決策。它采用新的流架構和突破性數學算法,可以從任何資源中提取數據進行前瞻性分析,從而準確地找出用戶需要的信息,并隨著新數據的增加不斷修正答案。
而要保證用戶對數據分析的結果真實、有效,首先要保證數據的可信,對此IBM有三方面的考慮:一方面是與安全和數據保護相關的流程,比如說什么樣的人獲取數據、怎么獲取數據、在什么時間獲取數據。第二是數據的生命周期,比如什么時候創(chuàng)建的、怎樣創(chuàng)建的,怎么樣存儲、備份、歸檔等等。第三是考慮數據的質量和準確度。比如說什么樣的數據是正確的、什么樣的數據是準確的。
論文摘要:隨著信息技術的快速發(fā)展,信息化管理在醫(yī)院中發(fā)揮的作用日益突出。本文在此背景下,分析醫(yī)院信息化管理的作用,提出醫(yī)院信息化管理系統的功能與特點,最后對醫(yī)院信息管理系統進行功能設計。
一、醫(yī)院信息化管理
隨著信息技術的快速發(fā)展,計算機在醫(yī)院發(fā)揮著越來越重要的作用。信息化管理系統已經成為現代醫(yī)院運營過程中不可或缺的技術支持。醫(yī)院的信息化管理主要實現醫(yī)院各業(yè)務的信息的管理、手機、存儲、處理、提取和交換功能。減輕醫(yī)療人員的勞動強度,提高醫(yī)院的工作效率。信息化管理涵蓋醫(yī)院業(yè)務的各個方面,比如財務管理系統,人事管理系統,藥品庫存管理系統,門診掛號系統,劃價收費系統,綜合查詢系統等等。
實現醫(yī)院信息化管理技術不太復雜,信息化管理主要以處理文字和數據為主,很少涉及到多媒體數據的動態(tài)傳遞。從這方面來說,所需服務器的性能要求也不太高。因此,建立醫(yī)院信息化管理所需投入不會太高,但是由此產生的效果卻是明顯的。
(一)加強了醫(yī)院自身的管理,提升服務質量。實施計算機信息化管理,可以實現醫(yī)療價格評價以及全面的財務計劃。加強外界監(jiān)督,以及內部考核機制,為病人提供優(yōu)質的服務。
(二)實現醫(yī)療信息的多元交流與傳遞。隨著信息技術的不斷應用以及醫(yī)療制度的改革,過去的醫(yī)院與病人之間的二元關系正在轉變?yōu)獒t(yī)院-病人-醫(yī)療保險部門-政府主管部門的多元關系。正是信息化的管理才使得這種多元關系變?yōu)楝F實并提供數據信息以供傳遞與交流。
二、醫(yī)院信息管理系統
與一般的信息管理系統相比,醫(yī)院信息系統具有與其他信息管理系統共有的通性,同樣包括人事信息管理、財務系統管理等。但是結合醫(yī)院這個行業(yè)的特點,又具有相當的獨特性和復雜性,醫(yī)院自身的性質決定,醫(yī)院信息管理系統還要涵蓋以病人醫(yī)療記錄信息為中心的醫(yī)療、管理等任務。另外,由于行業(yè)的特點,信息管理系統還要求具備快速的響應能力和聯機事務處理能力。比如說,急診室內,一個病人正在接受搶救,迅速、準確的獲知該病人的醫(yī)療記錄將會對搶救有著重要的幫助。
信息管理系統具有自身的特點,主要體現在:
(一)信息記錄的多樣性。在病人的醫(yī)療記錄信息中,除了文字描述外,還會有圖形、圖片、圖標、影像等多種形式的信息。因此,醫(yī)療記錄信息是復雜多樣的。
(二)信息的安全性。關于病人的醫(yī)療記錄信息,不但要防止系統受到攻擊,還要為病人的個人隱身保密,因此,信息管理系統的安全性要求很高。
(三)信息的海量。一個大型綜合型醫(yī)院往往會擁有上百萬份病人的醫(yī)療記錄信息,另外,病人的醫(yī)療記錄信息也是不斷變化的,因此數據信息是海量的,對數據庫有著較高的要求。
(四)信息的交流。信息的共享交流包括多個方面,病人的醫(yī)療記錄信息在醫(yī)院各科室需要共享交流,在醫(yī)院與醫(yī)療保險機構之間需要共享交流,在醫(yī)院與病人之間需要共享交流。
三、醫(yī)院信息管理系統的功能分析
一般來說,醫(yī)院門診的業(yè)務流程是:門診掛號——門診醫(yī)生診斷——檢查、開方——劃價——交款——拿藥。因此,醫(yī)院信息管理系統主要包括以下功能模塊:字典維護、門診掛號系統、劃價收費系統、綜合查詢系統、臨床門診。每個功能模塊同樣包括一些相關聯的子功能模塊。比如,字典維護包括藥品信息、收費項目、業(yè)務科室等子模塊。劃價收費系統包括劃價管理、收費管理、藥品發(fā)藥等模塊。
(一)字典維護。系統字典主要包括醫(yī)院信息管理系統常用的字典信息,比如:藥品、業(yè)務科室以及其它數據字典。
(二)門診掛號系統。門診掛號系統的功能就是為病人建立就診卡,進行掛號服務或者預約服務,為病人分配一個獨一無二的ID號,確保病人診療記錄的唯一性。
(三)劃價收費系統。該系統的主要功能就是記錄病人的繳費情況并進行對應的統計核算功能。它包括門診劃價、門診收費和藥品發(fā)貨功能。門診劃價:對病人的檢查、處方等費用進行計價工作,所需的價格信息在系統字典維護中獲取。門診收費:進行各項檢查、藥方等各種費用的收取,并在信息管理系統中輸入信息,保存操作記錄,以便能夠查詢病人劃價收費信息。藥品發(fā)貨:通過信息管理系統傳遞檢查、藥方信息到對應科室,提高工作效率并能夠及時的實現信息的交流與共享。
(四)臨床門診。該工作是醫(yī)院的核心工作,具體表現為醫(yī)生的診療,在信息管理系統中同樣是關鍵模塊。包括病人病歷的填輸入與保存等功能,形成病人診療記錄,并存檔保存,以便掌握病人的既往病史與過往診斷記錄。
(五)綜合查詢系統。綜合查詢系統包括多個部分,醫(yī)院自身部分和病人部分。對于醫(yī)院自身部分,包括各科室的業(yè)務情況查詢,人事管理查詢等方面,同樣病人部門,也會有各科室實現對病人診療記錄的查詢。查詢系統包括多個用戶級別,不同級別權限不同,所查詢的范圍也會相應不同。
(六)系統數據庫。系統數據庫包含多項數據信息,主要有藥品信息、科室信息、病人信息以及診療記錄信息、門診掛號信息、門診劃價信息、收費項目信息、藥品庫存信息等多想數據信息。
四、小結
信息化管理在醫(yī)院中發(fā)揮著重要的作用,它可以幫助醫(yī)院提高工作效率、提高經濟效益、提升醫(yī)護水平、強化科學管理。實現信息共享。因此建立、應用和完善醫(yī)院信息管理系統已成為所有關心醫(yī)院現代化建設的醫(yī)務工作者和信息技術研究者共同關心的課題,未來醫(yī)院的核心競爭力與優(yōu)質服務將會以現在信息化管理的水平之中。
參考文獻:
在我們所處的這個時代里,信息的價值無論怎么評價也不算高估。不過,說起來容易做起來難,讓這些信息真正發(fā)揮作用并非易事,企業(yè)要么無法獲得所需的信息、要么無法讓信息為己所用。為了響應企業(yè)的這一普遍需求, IBM提出信息隨需應變(Information On Demand,以下稱IOD)這一戰(zhàn)略構想,而從2006年開始舉行的一年一度的Information On Demand大會,也就成為IBM將對這一戰(zhàn)略構想的最新理解、最新技術及實踐傳達給用戶的一個大講壇。
今年的10月15~19日,IBM將這個大講壇設在美國的賭城拉斯維加斯,來自全球的6000多名參會代表參加了為期一周的Information On Demand 2007大會,共同見證了IBM精心組織的數百場內容精彩的演講和演示,領略了IBM在這一領域的眾多前瞻性理念和技術杰作。作為中國的媒體代表,本報記者飛赴拉斯維加斯參加了IBM舉辦的此次盛會。
信息是企業(yè)的核心資產
IOD所倡導的一個重要理念就是信息是企業(yè)的核心資產。很長時間以來,企業(yè)習慣于將它們的員工、專利、商標甚至廠房和設備看成企業(yè)的核心資產,現在,在核心資產清單上該添上一個新成員了,這就是信息。
然而,在企業(yè)已經看到信息的重要價值、開始重視信息的整合之后,很快他們就發(fā)現自己陷于信息的重重包圍之中,一方面要不斷在數據的獲取上投入,而另一方面,卻無法從紛繁蕪雜的數據中得到真正有價值的信息:今天的企業(yè)需要面對太多的信息,這些信息以各種不同的形式存在,有結構化的信息,如傳統的表單,也有非結構化的信息,如Word文件、音頻、視頻、圖像、電子郵件等,它們通常會被封鎖在各個不同的地方。以下是企業(yè)在利用信息時常面臨的困境:
1. 信息被封鎖在眾多孤島式的信息源中,限制了信息的自由獲取,而無法以一種方便的方式操作。
2. 信息量和信息的種類成指數級增長,僅僅是保存和維護如此海量的信息已經讓企業(yè)不堪重負,更談不上消除各個部門信息中的冗余、保持一致性、對信息進行整合了。而日益激烈的市場競爭需要企業(yè)具有比以前更加快速的響應能力。
3. 對信息的準確性缺乏信心從而限制了信息價值的發(fā)揮程度。比如,由于多種原因,很多組織保存的數據中存在不少重復的記錄、不完整的記錄以及無效的記錄。
“由于信息的爆炸式增長,使得企業(yè)保證在第一時間得到精確的信息成為它們保持競爭力的關鍵,其中涉及三個要素:信息、人或流程以及時間,只有三者能流暢地配合,即實現了在需要的時間能立刻將正確的信息傳遞給需要的人,才表明企業(yè)的信息系統已相當完善,這就是IBM的Information on Demand要達到的目的。”IBM軟件集團高級副總裁Steve A. Mills在Information on Demand 2007的開幕式再次明確了Information on Demand的含義。
Information on Demand
背后的含義
Information On Demand 是IBM對解決信息的整合和利用難題的一種通俗表達,它屏蔽了背后的技術復雜性,這些復雜的技術是由IBM及其合作伙伴來共同完成的。盡管用戶完全可以不用了解其技術實現,但是這種了解無疑會有助于我們理解IBM提出這一宏偉構想的真正原因。
從本質上說,Information On Demand要實現的是業(yè)務流程真正的端到端集成,也就是在一個企業(yè)內部及其合作伙伴和客戶之間進行集成。這意味著信息需要能夠在這些流程之間自由流動,換句話說,各種格式的信息需要能夠從它當前駐留的應用程序中釋放出來,同時信息必須能夠作為一項服務進行交付,能夠被需要它的人和流程輕松地存取。
Information On Demand提供的解決辦法分為兩個部分。一是通過開放標準公開這些服務:當前的應用系統大多是通過傳統的編程方法建立的,系統內部緊密耦合在一起,這樣的系統改變很困難,缺乏靈活性,IBM通過采用像 Web 服務和 XML 這樣的開放標準以及像 SOA 這樣靈活的架構,幫助企業(yè)把服務出來,從而只要付出較少的努力就可以更快速地解決問題。由于采用開放標準,更多開發(fā)人員能夠更輕松地存取他們所需的信息。
另一個部分就是讓信息更可用或者說提升信息的價值。比如IBM提供有這樣一些服務,它們集成信息(包括數據和內容,而不管它們在什么位置)以提供一個統一且精確的視圖;向原始信息添加業(yè)務上下文;暴露信息中的復雜關系。Information On Demand可以為這些服務提供一個開放的框架。
不過,這還僅僅是Information On Demand表面上的意義,其更深一層意義在于,IBM認為要從根本上改變目前信息系統的構建方式。
眾所周知,現有的系統是按照功能設計和構建的。如典型的套裝軟件就是按照功能設計,一個系統完成某一特定的功能,為完成這些功能需要存儲某些數據,這些數據完全依附于這個系統,系統之間的數據很少有交流。在IBM看來,這種傳統的應用構建方式正是現有的IT系統無法跟上業(yè)務變化的原因。IBM認為,信息作為企業(yè)的核心資產,它應該脫離應用存在。IBM通過引入XML技術,力圖讓業(yè)務人員可以不用IT部門的幫助自由地設計出業(yè)務需要的各種數據模型,再結合用SOA技術封裝的各種流程相關的組件,使得業(yè)務人員也可以自由組裝出所需要的應用,從而擺脫對套裝軟件的依賴。
“以一種高度可用的方式存儲和保護數據或內容的傳統應用目前仍然是信息管理的重要方面,但是一種更靈活的應用構建方式已經出現,并已通過工業(yè)技術方法取得了顯著的進步,同時最好的實踐也已經出現,這就是Information On Demand?!?IBM軟件集團信息管理部總經理Ambuj Goyal在接受記者采訪時表示。
對非結構化數據的管理
在IBM Information On Demand戰(zhàn)略構想中,對非結構化數據的管理是一項關鍵功能。這一功能的第一支柱當然是IBM的新一代數據庫產品DB2 9,其采用的pureXML可以稱做Information On Demand戰(zhàn)略的核心技術。實際上,在2006年夏天IBMDB2 9.0時,卓越的XML支持特性就被作為其中的最大特性來宣傳。
XML誕生于上個世紀90年代,設計之初主要應用于數據交換,但這種新型的數據組織方式卻在應對信息的復雜性、可理解性和靈活性的挑戰(zhàn)方面開啟了新的道路,迎合了技術發(fā)展的方向和潮流。更重要的是,XML對非結構化數據的支持能力正是現在所需要的。統計表明,現有的數據中60%以上屬于非結構化數據。IBM要倡導信息隨時可取首先就必須完成對這部分非結構化數據的管理和整合。
IBM在去年的數據庫 DB2 9中第一次實現了關系型引擎與層次型引擎的結合,實現了混合數據庫。IBM將此技術稱為pureXML技術。與一般關系型數據庫的XML增強功能不同,pureXML技術第一次真正意義上提供了一種與XML層次型結構相匹配的層次型存儲方式和相對應的操作訪問方式。
IBM對XML的支持不僅體現在DB2上可以存儲 XML,DB2還具有一些服務,能夠把XML文檔分解成關系表結構和從關系表結構組合成XML文檔。為了易于開發(fā),DB2中還有一些特性能夠幫助確保 XML 的完整性,比如模式和 XSLT 支持。數據庫也支持基于XML的Web服務對信息的請求,比如 SOAP。
目前,對非機構化數據的支持能力已經擴展到IBM的其他產品上,在IOD大會IBM的最新數據倉庫產品DB2 Warehouse 9.5就把對XML的支持推進到數據倉庫產品上,從而提供了針對非結構化信息的分析能力。
豐富Information On Demand的產品組合
除了繼續(xù)增強IBM核心產品DB2的功能、推出DB2 9.5外,IBM一直在不斷豐富Information On Demand的產品組合。IOD大會上,IBM宣布今年會進一步完善Information Server,明年年初將有一個全新的軟件產品Master Data Management問世。
Information Server解決的是信息整合問題。作為業(yè)界第一款綜合性數據集成平臺,Information Server的主要目的是能使客戶更輕松地了解其全部信息資產并整合信息孤島,從而為重要的業(yè)務和IT項目提供一致、全面、可靠的數據。
采訪中,IBM信息平臺與解決方案副總裁Jim Welch告訴記者:“Information Server推出以來,全球已有數百家客戶及合作伙伴采用了IBM的這項技術。目前,IBM還推出了基于此平臺的其他解決方案,如全新的針對行業(yè)的數據模式,為依賴常用數據的業(yè)務流程提供交鑰匙的自動化能力?!?/p>
目前,IBM還在不斷完善Information Server的功能。本次大會期間IBM透露新版的Information Server將在今天11月份推出,新版產品會在原有基礎上對諸多功能進行改進,包括對IBM System z的支持、全新桌面元數據(desktop metadata)搜索能力、聯合支持更多數據類型、全新SAP R/3支持等。
Master Data Management是Information On Demand戰(zhàn)略的又一個重要補充。此款新軟件旨在幫助企業(yè)集中管理主數據。事實上,在企業(yè)眾多系統中存在一批核心數據集,這些數據被一次又一次地跨多個應用程序和業(yè)務流程而使用,如關于產品的數據、關于客戶的數據、關于供應商的數據、關于特定業(yè)務中關鍵實體的數據等。傳統上,這些信息有很多系統都會用到,而且每個系統都會有一份對這些信息的描述,結果會導致冗余和不一致性。
Master Data Management可以幫助企業(yè)管理多種主數據(如客戶、產品及賬戶信息等),它具備多種功能,能夠對數據進行定義、獲取并將其作為企業(yè)的一項戰(zhàn)略資產加以利用。在IOD大會上,IBM透露即將對這一全新軟件進行內測,預計將于2008年初在全球上市。
Info 2.0:IBM版的Web 2.0
如果說IBM的上述各種產品著重解決的還是傳統領域的問題,IBM Info 2.0的推出則算得上是趕上了時髦。眾所周知,包括社交網絡、博客、維基、RSS在內的Web 2.0已經成為一種流行的時尚,并逐漸波及到企業(yè),目前大多數企業(yè)已經認識到需要抓住這一潮流,IBM自然也不愿放過這一時機,IBM 的Info 2.0正是IBM應對目前日漸流行的Web 2.0的一個重要舉措。
“Web 2.0最吸引人的是,人們可以按照自己認為最有用的方式來開快速訪問和組合信息,形成個性化的應用,而根本不用IT人員的介入?!盜BM軟件集團信息管理部CTO Aant Jhingran說。
Aant Jhingran介紹說,為了幫助企業(yè)用戶快速創(chuàng)建自己的Mashup或者混合應用,IBM基于Web 2.0的上述特性,于今年6月份在網上社區(qū)了一個Info 2.0的試驗性軟件包Starter Kit,包括Mashup Hub、DAMIA和QEDWiki三個組件。其中Mashup Hub用來保存和聚合RSS、ATOM等各種種子(Feeds);DAMIA用來把一些數據組合成新的種子;而QEDWiki則提供一個統一的視圖用來展現各種聚合來的種子。
“IBM在Web 2.0中看到了機會,這個機會正好可以充分發(fā)揮IBM在數據管理方面的豐富經驗以及在數據整合和數據分析方面數十年的研究成果。因為Web 2.0中的數據不僅包含傳統的IT數據,還有互聯網上公開的和個人的數據以及各種結構化和非結構化數據,要從多種數據源中聚集信息,這正是IBM所擅長的?!闭劦綖槭裁匆瞥鯥nfo 2.0時,Aant Jhingran解釋說。
目前,IBM已經著手建立Info 2.0合作伙伴聯盟。在IOD大會期間,記者遇到了JUST System和SONOA System兩公司的負責人,據他們介紹,兩公司都已經推出了基于Starter Kit的Web 2.0產品。其中,JUST System公司還現場演示了如何把從氣象臺獲得的臺風信息作為種子,利用Starter Kit提供的工具把臺風可能影響區(qū)域顯示在Google Earth上,非常簡單,給記者留下了很深的印象。
不過,目前IBM關于Info 2.0還有很多模糊的地方,其產品Starter Kit也還處于測試階段,甚至在IBM內部對Info 2.0也有不同的解釋。也許是出于這方面的原因,目前IBM還沒有展開關于Info 2.0的宣傳,即使在美國了解IBM Info 2.0概念的人也并不多。不過,盡管一切還不算清晰,其產品離最終還有一段距離,但是IBM顯然已經注意到Web 2.0帶來的巨大影響,并且明確了努力方向,依照IBM的實力和風格,我們有理由對這個產品抱以充分期待。
鏈接
Information On Demand的三個支柱
如果把Information on Demand看成正在建設的一棟大廈的話,數據(Data)、信息(Information)、內容(Content)三個方面的產品和解決方案可以看成是構建這幢大樓的三個支柱。
在數據方面,IBM了一個全新的產品,稱為IBM Data Studio,它將和IBM已有的產品Rational一起共同提供數據的全生命周期管理的能力。
課 程 設 計
課程名稱: C 程 序 設 計 課題名稱: 職工信息管理 班 級: 計算機學院1507班 完 成 人: 姓名(學號) 指導教師: 李珊
湖南理工學院計算機學院
2016年6月27日
一、 設計要求與功能分析
定義菜單函數,主要源代碼 void menu() /*菜單函數*/ {
printf(" \n"); printf("\n"); printf("\n");
printf(" ******************職工信息管理****************\n"); printf(" 1. 錄入職工信息"); printf(" 2. 瀏覽職工信息\n"); printf(" 3. 查詢職工信息"); printf(" 4. 刪除職工信息\n"); printf(" 5. 添加職工信息"); printf(" 6. 修改職工信息\n"); printf(" 7. 查詢排序\n"); printf(" 8. 退出\n");
printf(" ********************謝謝使用******************\n"); printf("\n"); printf("\n"); }
二、 總體設計
輸出1到7數字可進入執(zhí)行不同的功能的函數,并在執(zhí)行結束后返回主頁面
流程圖
三、 詳細設計與程序實現
職工輸入功能:主要功能完成職工信息的輸入,主要程序
void input() /*錄入函數*/ {
int i,m;
printf("請輸入需要創(chuàng)建信息的職工人數(1--100):\n"); scanf("%d",&m); for (i=0;i
printf("職工號: "); srand((int)time(0));
em[i].num=rand()%10000+20000000; if(em[i].num!=em[i-1].num) printf("%8d ",em[i].num); printf("\n");
printf("請輸入姓名: "); scanf("%s",em[i].name); getchar();
printf("請輸入性別(f--女 m--男): "); scanf("%c",&em[i].sex); printf("請輸入年齡: "); scanf("%d",&em[i].age); printf("請輸入學歷: "); scanf("%s",em[i].xueli); printf("請輸入工資: "); scanf("%d",&em[i].wage); printf("請輸入住址: "); scanf("%s",em[i].addr);
printf("請輸入電話: "); scanf("%d",&em[i].tel); printf("\n"); }
printf("\n創(chuàng)建完畢!\n"); save(m); }
void save(int m) /*保存文件函數*/ { int i; FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) {
/*創(chuàng)建文件并判斷是否能打開*/
printf ("cannot open file\n"); exit(0); }
for (i=0;i
int load() /*導入函數*/ {
FILE*fp; int i=0;
if((fp=fopen("employee_list","rb"))==NULL) {
printf ("cannot open file\n"); exit(0); } else { do {
fread(&em[i],sizeof(struct employee),1,fp); i++; }
while(feof(fp)==0); }
fclose(fp); return(i-1); }
截圖如下
瀏覽職工信息:主要功能讀取職工信息,主要代碼 void display() /*瀏覽函數*/ { int i;
int m=load();
printf("\n 職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n"); for(i=0;i
printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); } 截圖
查詢職工信息:主要代碼
void search()/*查詢函數*/ {
int t,flag; do {
printf("\n按職工號查詢請按1 ; 按學歷查詢請按2 ; 按電話號碼查詢請按3, 進入主函數按4\n"); scanf("%d",&t); if(t>=1&&t
flag=1; peak; } else { flag=0;
printf("您輸入有誤,請重新選擇!"); } }
while(flag==0); while(flag==1) {
switch(t) {
case 1:printf("按職工號查詢\n");search_num();peak; case 2:printf("按學歷查詢\n");search_xueli();peak; case 3:printf("按電話號碼查詢\n");search_tel();peak; case 4:main();peak; default:peak; } } }
void search_num() {
int num; int i,t;
int m=load();
printf("請輸入要查找的職工號(20001111---20009999):\n"); scanf("%d",&num); for(i=0;i
if(num==em[i].num) {
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); peak; }
if(i==m)
printf("\n對不起,查無此人\n"); printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢職工號請按2\n"); scanf("%d",&t); switch(t) {
case 1:search();peak; case 2: peak; default:peak; } }
void search_xueli()
{
char xueli[30]; int i,t;
int m=load();
printf("請輸入要查找的學歷:\n"); scanf("%s",xueli); for(i=0;i
if(strcmp(em[i].xueli,xueli)==0) {
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); }
if(i==m)
printf("\n對不起,查無此人\n"); printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢學歷請按2\n"); scanf("%d",&t); switch(t) {
case 1:search();peak; case 2:peak; default :peak; } }
void search_tel() {
long int tel; int i, t;
int m=load();
printf("請輸入要查找的電話號碼:\n"); scanf("%ld",&tel); for(i=0;i
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wag
e,em[i].addr,em[i].tel);
peak;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢電話號碼請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();peak;
case 2:peak;
default :peak;
}
}
截
圖
刪除職工信息,主要函數
void del() /*刪除函數*/
{
int i,j,n,t,flag;
char name[20];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要刪除此人信息請按1, 不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除后的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續(xù)刪除請按1,不再刪除請按0\n");
switch(t)
{
case 1:del();peak;
case 0:peak;
default :peak;
}
}
截圖
添加職工信息,主要代碼
void add()/*添加函數*/
{
FILE*fp;
int n;
int count=0;
int i;
int m=load();
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數:\n");
for (i=m;i
{
printf("\n 請輸入新增加職工的信息:\n");
printf("請輸入職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
count=count+1;
printf("已增加的人數:\n");
printf("%d\n",count);
}
printf("\n添加完畢!\n");
m=m+count;
printf("\n瀏覽增加后的所有職工信息:\n");
printf("\n");
save(m);
display();
fclose(fp);
}
截圖
修改職工信息:主要源代碼
void modify() /*修改函數*/
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2. 姓名 3. 性別 4. 年齡 5. 學歷 6. 工資 7. 住址 8. 電話\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}
}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i 個職工時,for 語句后i 自加了1, 所以下面的應該把改后的信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
peak;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
peak;
case 3:printf("性別改為: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
peak;
case 4:printf("年齡改為: ");
scanf("%d",&age);
em[i-1].age=age;
peak;
case 5:printf("學歷改為: ");
strcpy(em[i-1].xueli,xueli);
peak;
case 6:printf("工資改為: ");
scanf("%d",wage);
peak;
case 7:printf("住址改為: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
peak;
case 8:printf("電話改為: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
peak;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不, 重新修改 請按2:
scanf("%d",&b);
}
while(b==2);
printf("\n瀏覽修改后的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續(xù)修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();peak;
case 0:peak;
default :peak;
}
}
截\n"); 圖
查詢排序:主要源代碼
void sort(){/*排序*/
int i;
printf("請選擇關鍵字排列:1.工號 2. 年齡 3. 工資 ");
scanf("%d",&i);
while(i3){
printf("輸入有誤,請重新輸入:");
scanf("%d",&i);
}
switch(i)
{
case 1:
sort_num();peak;
case 2:
sort_age();peak;
case 3:
sort_wage();peak;
default:
peak;
}
}
void sort_num()
{
int len,i,j,t,m=load();
for(i=0;i
for(j=1;j
if(em[i].num>em[j].num)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
void sort_age()
{
int i,j,t,m=load();
for(i=0;i
for(j=1;j
if(em[i].age>em[j].age)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
void sort_wage()
{
int i,j,t,m=load();
for(i=0;i
for(j=1;j
if(em[i].wage>em[j].wage)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
截圖
退出系統。
四、 收獲、體會及意見
心得體會:回顧此次程序設計,感慨良多,雖然對著電腦做程序,有點累也有點熱,可是看到勞動成果時,真是別有一翻滋味在心頭,世上無難事只怕有心人,的確如此。做完這個課程設計,我們的自信一下子提高了,我們也會寫程序了;盡管對于有些人這種程序會很簡單,可對我們C 語言初學者來說,已經很不容易了。這次體驗為以后的學習計算機的我們增強了信心。享受勞動成果的滋味實在很美妙啊
五、 參考資料索引
【1】譚浩強. C語言程序設計教程[M]. 北京:清華大學出版社,2009年
【2】網上查資料
六、 程序清單
完整程序
#include
#include
#include
#define N 100
struct employee
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
}em[100]; /*定義一個結構體*/
void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
void sort();
void sort_num();
void sort_wage();
void sort_age();
void modify(); /*定義各函數*/
void menu() /*菜單函數*/
{
printf(" \n");
printf("\n");
printf("\n");
printf(" ******************職工信息管理****************\n");
printf(" 1. 錄入職工信息");
printf(" 2. 瀏覽職工信息\n");
printf(" 3. 查詢職工信息");
printf(" 4. 刪除職工信息\n");
printf(" 5. 添加職工信息");
printf(" 6. 修改職工信息\n");
printf(" 7. 查詢排序\n");
printf(" 8. 退出\n");
printf(" ********************謝謝使用******************\n");
printf("\n");
printf("\n");
}
void main()
{
menu(); /*調用菜單函數*/
int n,flag;
char a;
do
{
printf("請選擇你需要操作的步驟(1--8):\n");
scanf("%d",&n);
if(n>=1&&n
{
flag=1;
peak;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case 1:printf(" 輸入職工信息\n");printf("\n");input();peak; case 2:printf(" 瀏覽職工信息\n");printf("\n");display();peak;
case 3:printf(" 按職工號查詢職工信息\n");printf("\n");search();peak; case 4:printf(" 刪除職工信息\n");printf("\n");del();peak;
case 5:printf(" 添加職工信息\n");printf("\n");add();peak;
case 6:printf(" 修改職工信息\n");printf("\n");modify();peak; case 7:
printf(" 查詢排序\n");
printf("\n");
sort();
getchar();peak;
case 8:exit(0);peak;
default :peak;
}
getchar();
printf("\n");
printf("是否繼續(xù)進行(y or n):\n");
scanf("%c",&a);
if(a=="y")
{
flag=1;
system("cls"); /*清屏*/
menu(); /*調用菜單函數*/
printf("請再次選擇你需要操作的步驟(1--7):\n");
scanf("%d",&n);
printf("\n");
}
else
exit(0);
}
}
void input() /*錄入函數*/
{
int i,m;
printf("請輸入需要創(chuàng)建信息的職工人數(1--100):\n");
scanf("%d",&m);
for (i=0;i
{
printf("職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
}
printf("\n創(chuàng)建完畢!\n");
save(m);
}
void save(int m) /*保存文件函數*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) /*創(chuàng)建文件并判斷是否能打開*/
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
int load() /*導入函數*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}
void display() /*瀏覽函數*/
{
int i;
int m=load();
printf("\n 職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
for(i=0;i
printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}
void del() /*刪除函數*/
{
int m=load();
int i,j,n,t,flag;
char name[20];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要刪除此人信息請按1, 不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除后的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續(xù)刪除請按1,不再刪除請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();peak;
case 0:peak;
default :peak;
}
}
void add()/*添加函數*/
{
FILE*fp;
int n;
int count=0;
int i;
int m=load();
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數:\n");
scanf("%d",&n);
for (i=m;i
{
printf("\n 請輸入新增加職工的信息:\n");
printf("請輸入職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
count=count+1;
printf("已增加的人數:\n");
printf("%d\n",count);
}
printf("\n添加完畢!\n");
m=m+count;
printf("\n瀏覽增加后的所有職工信息:\n");
printf("\n");
save(m);
display();
fclose(fp);
}
void search()/*查詢函數*/
{
int t,flag;
do
{
printf("\n按職工號查詢請按1 ; 按學歷查詢請按2 ; 按電話號碼查詢請按3, 進入主函數按4\n");
scanf("%d",&t);
if(t>=1&&t
{
flag=1;
peak;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按職工號查詢\n");search_num();peak;
case 2:printf("按學歷查詢\n");search_xueli();peak;
case 3:printf("按電話號碼查詢\n");search_tel();peak;
case 4:main();peak;
default:peak;
}
}
}
void search_num()
{
int num;
int i,t;
int m=load();
printf("請輸入要查找的職工號(20001111---20009999):\n");
scanf("%d",&num);
for(i=0;i
if(num==em[i].num)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
peak;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢職工號請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();peak;
case 2: peak;
default:peak;
}
}
void search_xueli()
{
char xueli[30];
int i,t;
int m=load();
printf("請輸入要查找的學歷:\n");
scanf("%s",xueli);
for(i=0;i
if(strcmp(em[i].xueli,xueli)==0)
{
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢學歷請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();peak;
case 2:peak;
default :peak;
}
}
void search_tel()
{
long int tel;
int i, t;
int m=load();
printf("請輸入要查找的電話號碼:\n");
scanf("%ld",&tel);
for(i=0;i
if(tel==em[i].tel)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
peak;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1, 繼續(xù)查詢電話號碼請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();peak;
case 2:peak;
default :peak;
}
}
void sort(){/*排序*/
int i;
printf("請選擇關鍵字排列:1.工號 2. 年齡 3. 工資 ");
scanf("%d",&i);
while(i3){
printf("輸入有誤,請重新輸入:");
scanf("%d",&i);
}
switch(i)
{
case 1:
sort_num();peak;
case 2:
sort_age();peak;
case 3:
sort_wage();peak;
default:
peak;
}
}
void sort_num()
{
int len,i,j,t,m=load();
// memset((char *)&temp,0,sizeof(em));
for(i=0;i
for(j=1;j
if(em[i].num>em[j].num)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
void sort_age()
{
int i,j,t,m=load();
for(i=0;i
for(j=1;j
if(em[i].age>em[j].age)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
void sort_wage()
{
int i,j,t,m=load();
for(i=0;i
for(j=1;j
if(em[i].wage>em[j].wage)
{
t=em[i].num;
em[i].num=em[j].num;
em[j].num=t;
}
display();
getchar();
}
void modify() /*修改函數*/
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2. 姓名 3. 性別 4. 年齡 5. 學歷 6. 工資 7. 住址 8. 電話\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}
}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i 個職工時,for 語句后i 自加了1, 所以下面的應該把改后的信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
peak;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
peak;
case 3:printf("性別改為: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
peak;
case 4:printf("年齡改為: ");
scanf("%d",&age);
em[i-1].age=age;
peak;
case 5:printf("學歷改為: ");
scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli);
peak;
case 6:printf("工資改為: ");
scanf("%d",wage);
peak;
case 7:printf("住址改為: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
peak;
case 8:printf("電話改為: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
peak;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不, 重新修改 請按2: \n");
scanf("%d",&b);
}
while(b==2);
printf("\n瀏覽修改后的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續(xù)修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();peak;
case 0:peak;
default :peak;
[關鍵詞] 超市 Visul Basic 6.0 SQL Server 2000 庫存管理
一、緒論
1.選題的背景
通過實地調查研究與分析,總結了廣大中小連鎖超市的特點:首先,銷售的商品種類繁多,日客流量也較大,商品的信息管理不夠合理;其次,市場千變萬化,很多商品的價格可能經常變動,經營者在改變價格后不能迅速統計各個方面的信息;再次,超市經營者不夠充分了解商品庫存情況;最后,對于超市子公司間的轉倉,不能迅速有效地進行,貽誤商品銷售的最佳時機。由于以上特點,超市信息管理系統的開發(fā),顯得尤為重要。
2.問題陳述
超市庫存信息管理系統主要解決商品的入庫、出庫、銷售、查詢等的問題。經營者具有明確的商品庫存信息、銷售信息,能夠查詢、備份數據庫,更新所有的信息(供應商信息、入庫、出庫、銷售、操作員信息、操作員營業(yè)額、日志信息等)。
3.項目背景
中小型超市管理系統是非常重要的,它涉及的面廣、數據量較大,如果對整個系統不能進行很好的設計,將會給超市的效益帶來巨大的影響,雖然目前國內的大超市都已經有了較為成熟的管理系統,但是在中小型超市中還沒有實現辦公自動化管理。
4.編寫目的
為經營者提供準確、全面、及時的數據信息,使他們了解自身的經營狀況,幫助他們決策。通過一個應用系統的開發(fā)全過程,可以學習如何分析、設計并實現一個相對簡單的信息管理系統。
5.需要完成的功能(功能設計)
對于一個應用系統,我們要從其性能、功能、用戶界面、安全性等方面考慮,系統必須完成的功能如下:
(1)圖形化的友好界面,用戶易輸入數據,便于操作。
(2)對于一個行業(yè)系統來說,應有登陸界面,必須輸入用戶名和密碼,才能進入系統。
(3)系統能夠對倉庫的數據進行查詢、修改、刪除、添加、保存等操作。
(4)系統能夠更新商品信息,計算消費者所花的金額,經營者能查詢銷售信息。
(5)具有良好的安全性、穩(wěn)定性、可擴展性、可維護性,符合軟件行業(yè)的基本標準。
二、可行性分析
技術可行性:前臺利用Visual Basic 6.0開發(fā)系統窗體界面,后臺利用SQLServer2000數據庫。
經濟可行性:經營管理所費的人力大,時效性差,實現計算機管理,可滿足要求。
三、總體設計
1.總體設計思想
如果把閉路電視系統比喻超市“眼睛”,則超市庫存信息管理系統可以稱為超市的“大腦”。作為超市經營管理的信息中心,它在超市的整個日常經營中無疑起著舉足輕重的作用。
2.頂層數據流程圖
3.系統業(yè)務總流程
4.系統功能模塊劃分
整個超市庫存信息管理系統包括六大部分:基礎信息設置、商品入庫管理、商品銷售管理、商品庫存管理、數據報表以及系統信息維護。其中:基礎信息設置包括:供應商信息設置、草庫信息設置、起初庫存設置;商品入庫管理包括:商品入庫、入庫查詢;商品銷售管理包括:商品銷售、銷售查詢;商品庫存管理包括:商品借出與查詢、商品歸還與查詢、商品盤點及查詢;數據報表包括:出口報表、庫存報表;系統信息維護包括:用戶管理及密碼、數據庫管理、日志管理等。
四、詳細設計
1.創(chuàng)建用戶主界面
2.創(chuàng)建各個基礎信息管理功能模塊
其中包括:登錄驗證模塊;商品入庫管理功能模塊(商品入庫模塊實現、入庫商品查詢實現);商品銷售管理模塊(商品銷售功能實現、商品銷售查詢實現);商品庫存管理模塊;數據報表模塊;系統維護模塊(操作員管理子模塊的實現、密碼修改子模塊的實現、權限設置子模塊的實現、數據庫管理子模塊的實現、日志管理子模塊的實現)。部分實現界面如下:
五、總結
萬變不離其宗,“進、銷、存”永遠是超市經營管理的核心主題。本系統從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),成功實現了用戶登入、基礎信息設置、商品入庫管理、商品銷售管理、商品庫存管理(包括商品借出、商品借出歸還、庫存盤點)、數據報表和系統維護這些方面的功能,完全符合廣大中小型連鎖超市的經營管理要求。
參考文獻:
[1]劉韜,駱娟,何旭鴻.Visul Basic數據庫系統開發(fā)實例導航[M].人民郵電出版社,2003.
[2]四維科技.曹衍龍.Visul Basic系統開發(fā)實例精粹[M].人民郵電出版社,2005.
【關鍵詞】內部信息;安全管理
醫(yī)療機構通過加強內部信息管理,整理所有內部信息傳遞過程中的弱項環(huán)節(jié),建立科學的內部信息傳遞制度,明確內部信息傳遞內容、傳遞方式、傳遞廣度以及各管理層的職權范圍等,促進內部信息的有效利用,充分發(fā)揮醫(yī)院內部信息的作用。
醫(yī)院可根據自身發(fā)展的方向、成本操控和評級考核要求,合理規(guī)范各個級別內部信息的指標系統,采用局域網等多種形式,充分反映與醫(yī)院服務項目管理相關的各種內外部信息。信息系統的設計應該與預算管理相結合,并隨著相關政策和服務項目的變化不斷進行修改和完善。設置內部信息指標系統時,要注意醫(yī)療成本預算的執(zhí)行情況。信息內容必應簡潔明了、通俗易懂、傳遞及時,便于各科室管理層和全體員工掌握相關信息,正確履行職責。
醫(yī)院各級管理人員應充分利用科室內部信息和指導性醫(yī)療活動,及時全面反應預算執(zhí)行情況,協調醫(yī)院內部相關科室的醫(yī)療服務質量進度,嚴格績效考核和責任追究,確保實現計劃發(fā)展目標。并且有效利用醫(yī)院內部信息進行風險評估,準確分析和識別醫(yī)療服務活動中的內外部風險,擬定風險應對策略,實現對醫(yī)療風險的有效控制。對醫(yī)院內部信息反映出的問題應及時解決,涉及突出事故和重大醫(yī)療風險的,應啟動后備應急預案。
醫(yī)院信息系統的缺乏或不合理規(guī)劃,可能會造成信息孤立或重復建立網絡信息,導致醫(yī)療服務質量管理效率降低。系統的開發(fā)不符合內部科室實際要求,信息授權管理不當,可能導致無法利用先進的信息技術實施有效指導。系統運行的維護和安全措施不到位,可能導致內部信息的泄漏或損壞,使系統無法正常運行。
醫(yī)院應當重視信息系統在科室內部中的作用,根據科室內部要求,結合服務形式、服務范圍、人員分布、醫(yī)療技術等因素,制定信息系統建設全面規(guī)劃,加大投入力度,有序組織醫(yī)院信息系統的開發(fā),運行與維護,優(yōu)化醫(yī)院管理流程,防范醫(yī)療風險,全面提升醫(yī)院現代化管理水平。指定專門信息維護機構對信息系統建設實行歸檔管理,明確相關科室的職責權限,建立有效服務機制,醫(yī)院可以委托計算機專業(yè)機構從事信息系統的開發(fā)、運行和維護工作。
醫(yī)院信息系統歸檔管理部門應當組織內部各科室提出開發(fā)要求和關鍵制控點,規(guī)范開發(fā)流程,落實系統的設計、編程、調試安裝、科室驗收、運行等全過程的管理要求,嚴格按照設計方案、開發(fā)流程和相關要求組織開發(fā)工作。醫(yī)院開發(fā)信息系統可以采用自行開發(fā)、外購品調試、對外承包等方式。選擇外購品調試和對外承包工程的,應當采用公開招標等形式擇優(yōu)選定供應商或開發(fā)單位。
醫(yī)院開發(fā)信息管理系統,應當將醫(yī)療管理服務流程、關鍵制控點和特殊處理規(guī)則寫入系統程序,實現手工操作下難以實現的控制功能。醫(yī)院在系統開發(fā)過程中,應當按照不同科室的服務項目要求,通過信息系統中的權限管理功能控制具體用戶的操作權限,避免不相容職責的處置權限授予給同一用戶。醫(yī)院系統應當針對不同數據的輸入方式,對進入系統的數據實施檢查和校驗功能。對必需由后臺控制的數據,應當加強管理,建立規(guī)范的管理流程制度,對操作系統進行審計或者監(jiān)控。醫(yī)院應當在信息系統中設置操作記錄功能,保證操作系統的可審計性。對異常的或者違背內部信息控制要求的數據,程序設計應編由系統自動報告并實行跟蹤處理機制。
醫(yī)院信息系統管理部門應加強信息管理系統開發(fā)全過程的跟蹤管理,組織開發(fā)部門與內部各科室的日常協調和溝通,督促開發(fā)部門按照設計方案、質量要求和計劃進度完成編程工作,對配備的硬件設備和系統軟件進行驗收檢查,組織系統操作運行等。醫(yī)院應組織獨立于開發(fā)軟件單位的專業(yè)計算機機構對開發(fā)完成的信息系統進行驗收檢測,保證在性能、功能、安全性和操控性等方面符合開發(fā)要求。醫(yī)院理應切實做好信息系統實操的各項準備工作,培訓系統操作和系統管理人員,制定科學的實操計劃和新舊系統轉換方案,準備應急預案確保新舊系統順利轉換和平穩(wěn)過度銜接。系統上有涉及到數據遷移的,還應制定詳細的系統數據遷移計劃。
醫(yī)院要加強信息系統維護和運行中的管理,制定信息管理機制、系統工作程序以及各模塊中子系統的具體操作規(guī)程,及時發(fā)現、跟蹤和解決系統運行中存在的問題,保證信息系統按照設定的制度、操作規(guī)范和程序持續(xù)穩(wěn)定地運行。建立醫(yī)院信息系統變更管理流程,醫(yī)院信息系統變更應嚴格遵守分級管理流程進行操作。系統操作人員不能擅自進行信息系統軟件的修改、刪除等操作;不能擅自修改、升級原有信息系統軟件版本,不能擅自改變軟件系統原有的配置。根據服務性質、安全性程度、輕重性程度等確定信息系統的安全等級,建立不同等級的信息授權使用機制,采取相應技術手段確保信息系統運行的安全有序。建立信息系統安全運行和數據丟失責任追究體制。委托計算機專業(yè)機構進行系統運行與維護管理的,應當審查該機構的資質,并與其簽訂服務合同和維護保養(yǎng)協定。采取安裝安全軟件等措施防范信息系統受到病毒等惡意軟件的破壞和感染。建立用戶管理制度,加強對重要信息系統的訪問權限管理,定期查閱信息系統賬號,避免授權不當或出現非授權賬號,防止不同職務的用戶賬號進行交叉操作。綜合利用路由、防火墻等網絡設備,病毒入侵檢測、漏洞掃描等軟件技術以及遠程訪問等安全策略手段,加強網絡的安全,防范來自網絡的非法入侵和攻擊。通過網絡傳輸安全保護關健數據,采取安保措施,確保信息傳遞的安全性、準確性和完整性。建立信息系統數據定期備份機制,明確備份的方式、責任人、頻度、存放地點、有效性檢查等內容。加強服務器等關鍵信息設備的管理,建立優(yōu)良的物理環(huán)境,指派專人負責檢查設備,及時處理異常情況,未經授權任何人不得接觸關鍵的信息設備。
合肥,位于安徽省中部,可輻射面積大;背靠內陸一些欠發(fā)達的地區(qū)如大別山區(qū)。由于歷史、體制等方面的原因,信息化建設起步晚,基礎薄,合肥地區(qū)生產計算機及其設備、通信器材產品的企業(yè)很少,基本上完全是一個消費性市場,無論是規(guī)模還是容量,合肥的IT市場只是一個中等規(guī)模的市場,這種條件下的市場究竟是什么樣子?我們具體來看看合肥IT市場的現狀。
郵電通信業(yè)
合肥郵電通信業(yè)比較發(fā)達,四通八達的光纖主干網已敷設完畢。目前,合肥地區(qū)擁有固定電話用戶和中國電信移動電話用戶共計40多萬。中國聯通目前開通了合肥、蕪湖兩地130移動電話業(yè)務,下一步目標是在安徽全省各中等城市開通130移動電話業(yè)務。合肥地區(qū)無線尋呼臺目前有20多家,除國信、聯通、中北、政訊等較大的全國衛(wèi)星連網尋呼臺之外,還有皖訊等全省連網的尋呼臺。目前合肥電信局開放的數據通信網有:公用分組交換網、數字數據網、中國公眾多媒體通信網和CHINANET。中國公眾多媒體通信網棗安徽熱線也于98年開通,網絡覆蓋全省各地市,;合肥地區(qū)三大互連網也于98年實現互通互連:省郵電多媒體通信網(169)以64KDDN專線與教育科研網、安徽信息網互連,三網互連為合肥地區(qū)信息高速公路建設打下了良好的基礎。合肥目前較大的通信商城有天地通信商城,經營業(yè)務涉及語音、數據、圖象、微波等通信業(yè)務。
電腦軟硬件市場
合肥的電腦軟硬件經銷商,除了個別實力雄厚的大公司擁有自己獨立的大本營之外,象其他城市一樣,絕大部分都集中在電腦城經營。
說到合肥的電腦城,首推步瑞祺電腦城。步瑞祺電腦城,是安徽省內目前規(guī)模最大、產品最集中、挑選余地最大的電腦電子專業(yè)市場,位于合肥金寨路和黃山路交匯處,毗鄰中國科大、安徽大學、合肥聯合大學、安徽電力職工大學、炮兵學院、電子工程學院和電子部43所等一批高校和科研所。良好的科研學術氛圍加上良好的經營環(huán)境創(chuàng)造了無限的商機,引來大批經銷商入駐。到目前為止,進駐的公司有60余家,經營品種2000多種,涵蓋了計算機軟硬件(主要是硬件)各個方面,從各種板卡到各種電腦耗材、外設,應有盡有。眾多的經銷商的加盟也給步瑞祺電腦城帶來了大量的客流,每天的成交額(包括零售和批發(fā))逾50萬元。電腦城的發(fā)展和繁榮,也帶動了電腦城周圍餐飲業(yè)、交通運輸業(yè)、打字復印業(yè)、電腦圖書業(yè)的迅猛發(fā)展??拷饺痨鞔髲B的合肥科菀電腦書店,號稱合肥最具有特色的專業(yè)電腦書店,發(fā)展已初具規(guī)模,開展了熱線查詢、電話售書、送書上門等一系列服務。
步瑞祺電腦城的對面,就是合肥另一個電腦市場棗科大高科技廣場,依托中國科學技術大學的品牌效應和雄厚的科研創(chuàng)新能力,科大高技術廣場也吸引了諸如方正、同創(chuàng)、康柏、TCL、海爾、IBM等一大批廠商加盟,中國科大也在高科技廣場開辦了許多計算機公司、系統集成公司和培訓中心。
合肥另外一處電腦市場是工大電子城,位于合肥工業(yè)大學附近,交通便利,人員密集,生意也十分興隆。合肥新開張的一座電腦城棗南方大廈電腦城也位于科大高科技廣場的對面,看來不管是電腦城的經營者還是電腦軟硬件的經營商,都善于利用已有的優(yōu)勢和影響去開拓更大的市場。
近年來,在合肥市科教書店的計算機廣場內聚集了以連邦為代表的一批軟件銷售商,均取得了不錯的業(yè)績。據合肥連邦軟件專賣店的負責人介紹,合肥連邦于1994年底正式開業(yè),在1995、1996、1997年度連續(xù)三年銷售翻番,銷售額始終位居全國200多家連邦專賣點的前十名之列。
IT業(yè)與教育、科研聯合體
IT業(yè)是一個新興的產業(yè),IT業(yè)同時也是一個高新技術產業(yè),因此,要求從業(yè)人員要有一定的素質和專業(yè)技能。所以IT業(yè)必然會和教育、科研走到一起,組成聯合體。合肥目前這樣的聯合體有四家:聯想集團與中國科大組建科大聯想計算機學院聯想棗科大通信軟件研究發(fā)展中心;同創(chuàng)集團與安徽省科技研究院組建安徽同創(chuàng)科力信息產業(yè)有限公司;合肥工業(yè)大學與合肥永信電腦公司組建合肥永信軟件系統工程公司;合肥工業(yè)大學與合肥安達電子技術公司組建合肥安達數控技術公司。99年3月合肥電信局與中國科技大學共同組建中國科大電話局,開創(chuàng)了在高等院校組建電話局的先例,將從根本上改善中國科大電話和網絡的質量,為中國科大的繼續(xù)發(fā)展奠定了基礎??蒲?、教育和IT企業(yè)的聯合已成為安徽省信息產業(yè)界的一大趨勢。
IT業(yè)與傳媒業(yè)
IT業(yè)由于自身具有的特點,決定了其與傳媒業(yè)的密切關系:IT業(yè)通過傳媒業(yè)擴大影響,傳媒業(yè)因IT業(yè)而加強傳媒手段。在合肥,從事IT業(yè)的傳媒業(yè)有以下幾家:中國計算機專修學院主辦的《電腦知識與技術》和《計算機考試與指導》,一種傳播電腦基本知識和技術的刊物和一種計算機等級考試的輔導刊物;安徽省計算機學會主辦的《計算機與信息技術》,一種計算機應用類的技術性刊物;《新安晚報都市節(jié)拍電腦視窗》,合肥地區(qū)最大的晚報之一《新安晚報》每周也在《電腦視窗》欄目中普及電腦知識、最新電腦行情?!督鹜ㄉ逃崱?、《每周快遞》、《安徽電子報》等一批引導IT消費潮流、最新市場行情的刊物。所有這些,為合肥乃至整個安徽的IT業(yè)(市場)的發(fā)展,作出了巨大的貢獻
IT業(yè)自有品牌
合肥自有品牌不多,目前較有影響的是安徽長安電子股份有限公司生產的“長安”系列電腦。長安公司實力較雄厚,已通過ISO9002質量體系認證。為了擴大影響、提高品牌知名度,長安公司與安徽有線電視臺探索(Discovery)欄目聯舉辦有獎收視活動,每月評出一名優(yōu)勝者,獎長安多媒體電腦一臺,其宣傳口號是:探索你的世界,探索你的人生;看探索節(jié)目,當探索奔騰王,得長安電腦。合肥地區(qū)另一自有品牌是由安徽豐利電子有限公司生產的“豐利”系列電腦。安徽豐利的宣傳口號是“平易近人的價格,無微不至的服務”。當然還有更多具有行業(yè)特色的專業(yè)公司在默默無聞的發(fā)展著,說不定哪天也能一鳴驚人,打出自己的一片天地。
二.合肥IT業(yè)(市場)現狀分析與對策展望
總的說來,合肥地區(qū)IT業(yè)(市場)目前還處在一個剛剛起步,還很不成熟的三級、四級市場,與北京的中關村電子市場、深圳、武漢的電腦市場相比,還有相當大的差距。合肥地區(qū)IT企業(yè)規(guī)模較小,在與省外公司競爭中處于不利地位,有不少省內工程都被南京、深圳、北京等地的公司拿走;由于合肥是一個內地城市,經濟節(jié)奏相對緩慢,信息流通也稍慢一些,因此,合肥成了商家和IT企業(yè)專業(yè)服務商容易遺忘的地方。如去年下半年,在合肥地區(qū)舉行的IT企業(yè)展覽就只有三次:聯想百城巡禮、科利華“學習的革命”和微軟世紀行。但也正是在這種“被人遺忘的地方”,卻存在著實實在在需求,蘊含著無限的商機(別忘了世界上第一臺VCD——萬燕VCD就誕生在這里)。IT領域變化快,“后發(fā)效應”明顯,后來居上也不是沒有可能的,因為在IT業(yè)(市場)里,“只有失敗者,沒有后來者”。因此,針對合肥地區(qū)IT業(yè)(市場)的現狀——電信市場容量巨大,潛力足;PC市場起步較晚,不成熟;IT企業(yè)發(fā)展不平衡,實力弱,我們因當采取正確的策略,來發(fā)展合肥地區(qū)的IT業(yè)(市場)。
市場開拓和完善
電信市場因當在電信資費調整、開放引入競爭的前提下,放下架子,端正思想,加強服務。電信市場的改革要溶入整個信息產業(yè)改革的大潮中。國家信息產業(yè)改革的基本框架已經制訂:對中國電信實行分解式重組;對中國聯通實行整合式重組;對中國有線電視進行產業(yè)化改造;按集約化經營的思想,對原有體制進行改革,重新劃分原有資產并進行業(yè)務和人員的重組。國信尋呼的成立,邁開了電信改革的第一步。今年1月27日到2月2日,合肥電信舉辦了一個名為“回報老用戶”的活動:有合肥市固定電話擔保,申請移動電話的用戶可以免入網費。一時之間,電信局營業(yè)大廳排起了購買移動電話入中國電信網的長隊。事實雄辯的證明合肥地區(qū)電信市場具有巨大的潛力,關鍵是電信部門想不想挖掘這個潛力。
在市場開拓和完善上:
首先,政府應該制訂良好的產業(yè)政策,在宏觀上把信息產業(yè)放到優(yōu)先發(fā)展的地位,大力扶持,在資金、技術、人才等方面給予一定的優(yōu)惠政策;創(chuàng)造有利的條件,在信息產業(yè)發(fā)展的軟、硬件上下工夫。目前在這些方面有了長足的進步,新建成的合肥高新技術開發(fā)區(qū)在土地使用、稅收減免等諸多優(yōu)惠條件的吸引下,吸引大批高新技術入駐,其中包括許多從事信息產業(yè)的企業(yè);由安徽省電子信息系統推廣辦公室聯合中國計算機用戶協會主辦的第二屆安徽省計算機文化周暨99安徽(春季)計算機產品與技術展銷交流會也于99年4月3日~5日在合肥勝利召開。98年度全年完成工業(yè)總產值37.49億元,比97年同期增長72.45%,創(chuàng)歷史最好水平,增長速度高于全國電子行業(yè)增長幅度40個百分點,實現銷售收入18億元,與97年同期相比增長50.44。
其次,是市場定位問題,市場定位要準確。單從PC消費市場來看,PC消費市場分為三大部分:集團、中小企業(yè)和個人。在這種既定的市場份額條件下,PC市場該如何定位?對于集團大批需求,中、小企業(yè)難以插手,如去年中國科大和合肥炮兵學院就一次性購買了200臺金長城PII266。
第三,是市場依托問題。在完善制的同時,是走科技創(chuàng)新的新路,還是走永遠別人產品的老路?當然是走科技創(chuàng)新的新路,所以合肥地區(qū)信息產業(yè)的發(fā)展應該依托中國科大等大專院校和科研院所的科研實力,只有這樣才有可能出現第二個“北大方正”、“東大阿爾派”。
第四,是市場渠道問題。“開源節(jié)流”開源是第一位的,在開拓市場渠道這個問題上,不應該受地理因素的影響,放棄只吃“窩邊草”的慣性思維模式,放眼全國這個大市場;開拓渠道要體現增值的作用,以合肥為中心,輻射安徽全省乃至江西等電腦市場發(fā)展較慢的地區(qū),充分發(fā)揮合棸哺咚俟貳⒑蠗九鐵路的作用,拓寬渠道,重振“徽商”風采。
企業(yè)經營運作
由于起步較晚等客觀原因,合肥地區(qū)企業(yè)規(guī)模普遍較小,即大部分是中、小企業(yè),中小企業(yè)在充分認識自身特點的基礎上,應作好以下幾個方面:
企業(yè)的發(fā)展的道路,應該走兼容配件棗品牌棗樹立名牌的三步走的戰(zhàn)略,逐步發(fā)展壯大,逐步樹立自己的品牌。
企業(yè)應該采取多元化的經營策略,分散投資風險。既做電腦配件、耗材,又做電腦整機;既做軟件開發(fā),又做網絡集成。
企業(yè)之間應保持良好的聯系,相互協調和相互幫助。企業(yè)應處在一種“良性競爭”的環(huán)境中,避免企業(yè)間因相互殺價等惡性競爭帶來的兩敗俱傷的惡果。
第一條為加強信息管理,加快集團公司信息化建設步伐,提高信息資源的運作成效,結合集團公司具體情況,制定本制度。
第二條本管理制度中關于信息的定義:
1、行政信息:集團公司系統內部目的為行政傳達的一切文字資料、電子郵件、文件、傳真。具體信息管理表現為上傳下達、平級傳送的行文管理、資料管理、檔案管理。歸屬于日常行政管理。
2、市場信息:集團公司業(yè)務銷售的客戶文件、來往傳真、電話、客戶檔案;集團公司業(yè)務應用的電話記錄、報價、合同、方案設計、投標書等原始資料、電子資料、文件、報告等。具體信息管理表現為客戶溝通、文字記錄、資料收集分析、業(yè)務文件編寫等。歸屬于業(yè)務經營管理。
第三條信息管理工作必須在加強宏觀控制和微觀執(zhí)行的基礎上,嚴格執(zhí)行保密紀律,以提高企業(yè)效益和管理效率,服務于企業(yè)總體的經營管理為宗旨。
第四條信息管理工作要貫徹“提高效率就是增加企業(yè)效益”的方針,細致到位,準確快速,在企業(yè)經營管理中降低信息傳達的失誤失真延遲,有力輔助行政管理和經營決策的執(zhí)行。
第五條集團公司及全資下屬集團公司(含51%股權的全資、內聯企業(yè))、機構的信息工作,都必須執(zhí)行本制度。其他中外合資合作及內聯企業(yè)參照本制度執(zhí)行。
第二節(jié)信息管理機構與相關人員
第六條集團公司設立集團信息中心,集團公司下屬獨立核算的公司、企業(yè)設置獨立的信息機構。非獨立核算的單位配備專職或兼職信息人員。
第七條各企業(yè)行政部依據《行政管理條例》負責相關行政信息的日常管理;實業(yè)公司銷售中心辦公室獨立負責市場信息管理。
下屬獨立核算的公司、企業(yè)參照集團公司設立信息經理或專門信息管理的人員。
信息管理根據業(yè)務工作需要,配備必要的電腦技術人員、文員。
第八條集團信息中心負責集團公司整個系統的信息管理工作,負責所有信息的匯總和檔案管理。對全系統的信息管理工作負責。
第九條依據《行政管理條例》,各企業(yè)行政負責人主要負責行政信息的管理。
第十條集團信息中心設企業(yè)信息專員,主要負責市場信息的系統化、專業(yè)化管理。企業(yè)信息專員分為行政信息和市場信息兩個崗位。
企業(yè)信息專員主要職責如下:
1、執(zhí)行集團公司總經理辦公會議的決議,參與編制總經理辦公室主持的信息管理制度。(行政信息專員)
2、在銷售中心總監(jiān)指揮下,負責市場經營中各類信息的采集、處理、傳達,執(zhí)行中存在的問題提出改進措施。(市場信息專員)
3、與行政部聯合處理日常工作中關聯到業(yè)務機構的行政工作。(行政信息專員)
4、輔助指導集團公司其他各部門業(yè)務的信息統籌處理。(行政信息專員、市場信息專員)
5、對集團總經理負責并報告工作。
6、集團信息中心日常負責監(jiān)察集團全系統的業(yè)務信息管理和活動;負責搞好全系統業(yè)務人員關于市場經營信息的培訓工作,不斷提高業(yè)務人員的業(yè)務素質和業(yè)務水平;
第十一條各級領導必須切實保障信息中心人員依照本辦法行使職權和履行職責。
第十二條信息管理人員在工作中,必須堅持原則,照章辦事。對于違反保密制度和其他行政制度的事項,要及時向上級領導報告,接受指示后執(zhí)行具體處理。
第十三條集團公司支持信息管理人員堅持原則,按信息制度辦事。嚴禁任何人對敢于堅持原則的信息管理人員進行打擊報復。集團公司對敢于堅持原則的信息管理人員予以表揚或獎勵。
第十四條信息管理人員力求穩(wěn)定,不隨便調動。信息管理人員調動工作或因故離職,必須與接替人員辦理交接手續(xù),沒有辦清交接手續(xù)的,不得離職,亦不得中斷有關工作。被撤銷、合并單位的信息管理人員,必須會同有關人員編制信息文件資料移交清單和造冊,辦理交接手續(xù)。
第三節(jié)行政信息管理
第十五條按照行政信息的定義,行政信息主要產生、傳遞、應用于集團公司行政活動中。
第十六條行政信息管理主要依據集團公司《行政管理綱要》中下列規(guī)定進行:
1、文件收發(fā)規(guī)定;
2、文件、檔案、資料的管理規(guī)定;
3、信息管理中心管理規(guī)定;
4、集團公司印章、介紹信管理規(guī)定;
5、集團公司值班管理制度;
6、保密制度。
第十七條考慮集團公司業(yè)務競爭的特殊性質,行政信息管理不再涉及集團公司營銷類(客戶)信息、技術類信息和財務類信息。
第四節(jié)市場信息管理
第十八條依照市場信息的定義,市場信息主要產生、傳達、應用在市場業(yè)務經營管理中。
第十九條市場信息來源分類:業(yè)務(客戶)信息、非業(yè)務市場信息。
1、業(yè)務(客戶)信息:客戶購買公司產品的電話、傳真、函件、電子郵件;公司、客戶之間業(yè)務溝通電話、傳真、文件、函件、電子郵件;客戶公司公開的資料;市場人員收集的客戶秘密資料;銷售中心情報人員傳呈的報告、資料;針對客戶的分析報告等。
2、非業(yè)務市場信息:網絡、報刊、雜志和各種信息渠道收集的行業(yè)性文章、資料;競爭對手資料、文件、報告;公開的技術性資料;媒體、機構傳送到集團公司的電子郵件、函件、資料;公司內部業(yè)務分析文件、報告;其他與市場業(yè)務經營和管理有關的資料。
第二十條信息中心市場信息專員直接在銷售中心總監(jiān)的指揮下,主要負責以下業(yè)務信息工作:
1、負責集團網站的建設、維護、更新和對外信息,并開展網絡商務系列工作。
2、負責業(yè)務(客戶)信息的接受、整理、初步分析和傳呈銷售中心總監(jiān),建立、保管客戶檔案并不斷維護;
3、在銷售中心總監(jiān)的指揮下,負責與客戶的電話、電子郵件的信息交流,負責與客戶文件資料函件的撰寫、整理、內部報批、外部發(fā)送;
4、負責按照《區(qū)域市場管理辦法》的規(guī)定,指導、協助各市場機構對業(yè)務信息的收集,督促各市場機構將業(yè)務信息及時、準確呈報到集團公司,整理、分析各市場機構業(yè)務信息形成客戶分類檔案,并及時將重要的信息報告給銷售中心總監(jiān);
5、負責定期撰寫公司業(yè)務市場分析報告,協助公司銷售決策;
6、監(jiān)察、收集、整理競爭對手情報資料;收集、整理、分析行業(yè)性文章、資料;
7、負責直接業(yè)務情報、業(yè)務信息的整理。
8、上級安排的其他工作。
第二十一條行政信息專員在各級行政負責人的指揮下,主要負責以下非業(yè)務信息工作:
1、負責日常打印、復印等文字文件電腦處理工作和負責電腦、傳真機、復印機等設備的使用、管理和維護;
2、負責公司非市場事務的洽談和管理、日常信息交流;
3、接收、整理、呈報、發(fā)送非直接業(yè)務單位(如媒體機構)的信息文件資料;
4、集團公司內部一般性業(yè)務管理文件的擬稿;
5、各種與行政管理有關的信息資料工作;
6、上級交辦的其他工作。
第二十二條信息人員必須嚴格遵守集團公司制度中下列具體規(guī)定:
1、文件收發(fā)規(guī)定;
2、文件、檔案、資料的管理規(guī)定;
3、信息中心管理規(guī)定;
4、安全保密制度。
第五節(jié)其它
關鍵詞:信息系統監(jiān)理;信息管理;進度控制
Abstract: With the construction of the continuous progress of all walks of life, the growing importance of information systems supervision. Information system supervision covers a wide range, which covers a number of areas of computer engineering, network engineering, software engineering, computer room construction, systems integration, intelligent monitoring, a large amount of information covering a wide range. Penetrate into all aspects of supervision, is an indispensable element of the project supervision activities. This paper discusses the progress control of the Information Management Information System Supervision and information system supervision.
Keywords: Information systems, supervision; Information Management; schedule control
中圖分類號:TN948.61 文獻標識碼:A 文章編號:2095-2104(2013)
引言
隨著信息技術和網絡技術的發(fā)展,信息系統網絡化、復雜化、多樣化,尤其是大型信息系統的開發(fā)已經成為一項龐大的系統工程,投資大、周期長、高技術、高風險。因此,對信息系統的生命周期進行嚴格、規(guī)范的質量管理與控制至關重要。由于開發(fā)單位往往由于其技術力量有限,無力對項目的技術、設備、質量、進度等進行控制,因此在系統的開發(fā)方與委托方之間引入第三者——監(jiān)理,這是信息系統工程中保證工程質量、進度、成本的重要手段,也是保證項目實施成功的要素之一。
一、信息系統監(jiān)理中信息管理的若干問題
1.信息管理與信息系統監(jiān)理
目前在信息化建設領域信息系統建設是一項投資大、周期長、知識密集、高風險的系統工程,行業(yè)新穎、人員年輕、科技含量高、智力密集、所涉及的領域寬廣、對實踐經驗要求高。但信息系統工程的市場不規(guī)范、政策法規(guī)不完善、缺少監(jiān)督監(jiān)理機制,致使不成功的信息系統工程建設屢見不鮮。信息系統工程監(jiān)理在此情況下應運而生,而信息管理作為信息系統監(jiān)理“四控、三管、一協調”中的其中一項對信息系統監(jiān)理起著重要的作用。在這里通過介紹,希望能夠使人們認識到信息系統監(jiān)理中信息管理的作用及其重要性。
信息系統工程監(jiān)理,依據信息產業(yè)部《信息系統工程監(jiān)理暫行規(guī)定》,是指依法設立且具備相應資質的信息系統工程監(jiān)理單位,受業(yè)主單位委托,依據國家有關法律法規(guī)、技術標準和信息系統工程監(jiān)理合同,對信息系統工程項目實施的監(jiān)督管理。
信息管理是人類為了有效地開發(fā)和利用信息資源,以現代信息技術為手段,對信息資源進行計劃、組織、領導和控制的社會活動。簡單地說,信息管理就是人對信息資源和信息活動的管理。
信息管理的最終目的是信息的使用。它是信息管理活動的目的,同時也是檢驗信息工作成效的主要途徑。
信息系統監(jiān)理作為服務性行業(yè)是受業(yè)主方委托,代表業(yè)主的利益,保護投資、控制質量、確保進度;站在第三方的立場,公平對待工程各方,確保公正性、公平性、公開性。信息系統監(jiān)理與生產性行業(yè)相比沒有產品成果,但在信息系統監(jiān)理過程中監(jiān)理文檔是記錄監(jiān)理工作信息的重要載體,也是監(jiān)理項目部的主要工作成果之一,同時作為檔案對信息系統工程及信息系統監(jiān)理工作的具體情況等信息進行查詢。監(jiān)理文檔作為信息的一種表現形式更能體現出在信息系統監(jiān)理工作中信息管理的重要性。
2.信息系統監(jiān)理中信息管理方法
編制監(jiān)理文檔是信息系統監(jiān)理工作中信息管理的主要手段。監(jiān)理文檔編制過程中應使文檔覆蓋整個工程項目生存期,同時還要保證文檔的可管理性,監(jiān)理單位、建設單位、承建單位各方對文檔的可讀性,對專業(yè)性文檔應標識文檔標準。為了進一步提高信息系統監(jiān)理工作水平,促進信息系統監(jiān)理工作的程序化、規(guī)范化、科學化,為以后監(jiān)理工作做好基礎,監(jiān)理單位應認真做好監(jiān)理文檔的管理工作。監(jiān)理文檔應與工程形象進度同步建立,按類別及時整理歸檔,要求真實齊全、紙張統一,編有檢索目錄,便于查詢。
監(jiān)理單位所編制的正式或非正式監(jiān)理文檔都是重要的,監(jiān)理文檔管理工作包括文檔計劃、編寫、修改、分發(fā)和維護等各個方面。
此外監(jiān)理文檔的格式應該統一,監(jiān)理單位結合自身的管理信息系統及國家檔案管理相關的要求來統一定義文檔格式,這樣便于對監(jiān)理文檔進行管理。
信息系統監(jiān)理過程中信息管理時應注意以下事項:
(1)監(jiān)理文檔應及時整理、真實完整、分類有序;
(2)監(jiān)理文檔的管理應由總監(jiān)理工程師負責,并指定專人具體實施;
(3)監(jiān)理文檔應在各階段監(jiān)理工作結束后及時整理歸檔;
(4)監(jiān)理文檔的編制及保存應按有關規(guī)定執(zhí)行。
二、信息系統監(jiān)理的進度管理
監(jiān)理人員主要是對進度管理的整個過程進行審查,包括審查進度計劃的合理性、可行性,進度進程的完成情況,以及進度的調整與改進對策等。
1 進度計劃制定的監(jiān)理
進度計劃主要是對進度安排的合理性做出評價,目的在于為評價實際進度提供一個可靠的尺度。任何過緊或過松的進度都不足以反映開發(fā)方的工作情況。進度太緊會導致項目為了趕工而損害質量,提高成本,進度太松對于開發(fā)方沒有壓力,也會影響質量。合理的進度計劃及要給各方一定的壓力,要使其通過努力達到既定的目標。
1.1 進度計劃書的規(guī)范性
監(jiān)理人員在審查進度計劃時,要檢查計劃書是否按照標準格式編寫,這種格式應盡量依照國家標準和國際標準。如果在某項業(yè)務上沒有相應的標準,開發(fā)方應該預先制定本項目的進度計劃編寫規(guī)范,這個規(guī)范應該是經過監(jiān)理人員評審并同意的進度計劃的規(guī)范,能夠全面反映項目過程,并為各種需要閱讀計劃書的人提供良好的可讀性。