潤宇軟件
首 頁 企業簡介 項目案例 軟件定制 行業軟件 解決方案 下載中心 服務專區 客服中心
業務介紹:西安軟件公司、軟件開發、軟件定制、軟件外包
軟件 方案 文章
  潤宇軟件 >> 下載中心  >> 下載中心

西安軟件公司商品信息管理系統文檔

發布時間:2011-12-1  瀏覽次數:67次  字體【    】
商品信息管理系統文檔
一.        軟件定義
問題定義
以往的商場都用手工管理手段來管理商品的錄入,輸出,修改,刪除,排序等等工作,隨著世界經濟的發展,市場商品的品種越來越多,各個商場進行交易的對象也越來越廣泛,信息亮不斷的提升,本商場的信息有些不能與其他商場共享等等,要求的管理手段越來越高這些工作已經不是人力所能夠完成的一項工作,為避免浪費資源,提高效率,急切要求有一套系統能夠實現這些功能。
1.問題性質:信息管理
 
2.工程目標:解決一個商場對該場商品的信息管理,實現“增加商品信息 .刪除商品信息.修改商品信息.查找商品信息.按商品利潤大小排序.輸出商品信息.”這些功能。
 
3.工程規模:這個工程是對一個商場的商品信息的管理,只需要實現商品的信息錄入,輸出,查找,修改,刪除,排序這些功能,幫助商場管理者方便快捷的進行商品的管理,提高了商場的管理效率。
 
4.對這個系統進行問題定義,知道了“要解決的問題是:實現商品信息方便快捷的管理,系統必須具備商品的信息錄入,輸出,查找,修改,刪除,排序的功能”。
可行性研究
從上面的問題定義情況可以看出,現在商場商品琳瑯滿目,進貨出貨頻率之高已經不是人力所能夠完成的一項工作,開發研究出一個可以有效的管理商品信息的系統已經是各大商場的急迫要求,為了減少人力資源的浪費,有效的實現效率最高化,開發一套可以有效的管理商場商品信息的系統是必須的。
 
開發商品信息管理系統、實現商品信息管理的計算機化是非常必要的,也是可行的。因為使用計算機化的商品信息管理系統可以徹底改變目前商品信息管理工作的現狀,能夠提高工作效率,能夠提供更準確、及時、適用、易理解的信息,能夠從根本上解決手工管理中信息滯后、資源浪費等問題。另外,由于ACCESS是一個簡單實用的數據庫管理系統,選擇它作為開發工具,可以很容易地實現商品信息管理系統所需的功能,完成商品信息管理的各項任務。
    需求分析
        1.根據從各方面收集到的信息和商品管理信息系統業務流程的分析和整理,可以 得到E-R圖,系統流程圖:
      E-R圖:

30选5是每天开奖吗 www.hbadc.icu

數量
商品
進價
售價
有效期
名稱
生產地
操作
管理員
N
M

系統流程圖:

事務
相應??槌絳?/DIV>
商品庫存清單
操作信息
??槌絳?/DIV>
商品庫存清單
 

 
2.數據字典(只列舉幾個):
 
數據字典是關于數據信息的集合,也是對數據流圖總包含的所有元素的定義的集合,在此只列出以下兩個。
 
 

名字:商品列表
 
別名:商品信息
 
描述:每次商品更新需要進行一系列操作的信息表
 
定義:商品列表=商品名稱+商品生產地+商品數量+商品有效期+商品的進價+商品的售價
 
位置:將這張信息表送給管理員
 

 
 
 
 
 
 
 
 
 

名字:商品名稱
 
別名:
 
描述:能夠唯一地標識每個商品的關鍵域
 
定義:每個商品的名字,而且每個商品只有唯一的名字
 
位置:商場庫存信息
      商品列表
      商品信息
      事務

對于上述流程圖和數據字典的進一步分析可以知道商品信息管理系統應該實現以下幾個功能:
1.       實現商品信息的錄入。
2.       實現商品信息的查找。
3.       實現商品信息的修改。
4.       實現商品信息的刪除。
5.       實現商品信息的排序。
6.       實現商品信息的輸出。
. 系統設計
總體設計
   為了避免資源的浪費,提高效率, 通過上面的數據流圖和系統預訂要實現的功能目標可以知道我們需要以下一些??椋盒畔⒙既肽??,信息查詢???,信息修改???,信息刪除???,信息排序???,信息輸出???,和退出系統???。
   
        1.??檣杓疲?/DIV>
 
            根據前面對用戶需求的分析,依據系統功能設計原則,我們將整個系統進行??榛?,得到功能??橥?。
 

主程序
信息輸入
信息刪除
信息修改
信息查找
信息排序
信息輸出
退出系統
索引
判斷信息

 
     2.??櫓淶畝饔霉叵擔?/DIV>
            在系統中??櫓淶墓δ蓯迪侄夾枰牡饔靡恍┢淥墓δ苣??,例如
<1>.    其中信息輸入,信息刪除,信息修改,信息查找,信息排序,信息輸出和推出系統??櫚牡饔枚夾枰ü饕陌鎦?
 
<2>.    在進行信息輸入,信息刪除,信息修改,信息查找,信息排序,信息輸出時需要調用判斷信息對錯??櫚鵲?。
 
     3.數據結構的設計:
 
<1>  .在這里運用類結構來定義商品的各種屬性,例如商品的名稱,商品的有效期,商品的進價等等,都在類GOODS中進行定義,同時利用構造函數對商品進行初始化。.利用指針數組來對商品名稱,商品有效期等等屬性進行存儲。同時利用運算符重載的方式來方便編程。
具體如下:
        class Goods
{
public:
Goods (string name){Name=name;}
Goods (string name,string place,Date time,long num=0,double iprice=0,double oprice=0)
{
                             Name=name;
                             Place=place;
                             Num=num;
                             Time=time;
                             Iprice=iprice;
 Oprice=oprice;
                             Profit=oprice-iprice;
}
void output();
void operator=(Goods GD);//重載=
int operator<(Goods GD);//重載<
 int operator==(Goods GD);//重載==
~Goods(){delete []*God;}//釋放空間
string Name;//商品名
string Place;//生產地
long Num;//數目
Date  Time;//有效期
double Iprice;//進價
double Oprice;//售價
double Profit;//利潤
 
}*God[100];
運算符的重載在這里以成員函數的形式聲明,至于其具體的實現方式在類外進行定義。
   
<2>.利用一般函數來實現對各個??楣δ艿氖迪?,在主函數中聲明即可。
    至于其具體定義則在主函數外面進行。這里同時運用循環結構來返回主函數,實現菜單的返回。
具體如下:
 
void main()
{
 system("cls");
 cout<<"歡迎使用商品管理系統!"<<endl;
 cout<<" (1)    增加商品信息"<<endl;
 cout<<" (2)    刪除商品信息"<<endl;
 cout<<" (3)    修改商品信息"<<endl;
 cout<<" (4)    查找商品信息"<<endl;
 cout<<" (5)    按商品利潤排序"<<endl;
 cout<<" (6)    輸出商品信息"<<endl;
 cout<<" (0)    退出系統"<<endl;
 cout<<"請選擇你需進行的操作:  "<<endl;
void add();//增加函數
void shanchu();//刪除函數
void xiugai();//修改函數
void chazhao();//查找函數
void paixu();//排序函數
void shuchu();//輸出函數
void tuichu();//退出系統函數
void back();//返回main函數
char x;
 cin>>x;
 if (x>'6'||x<'0')
{
cout<<"輸入錯誤,請重新選擇!"<<endl;
cout<<" 請按任意鍵返回!"<<endl;
getch();
main();
 }
詳細設計(設計思路)
 
        <1>.用類來初始化商品,聲明商品的屬性。
        <2>.用指針數組來存儲商品的所有信息。
        <3>.用運算符重載方法來方便編程。
     以上三個條件是進行系統詳細設計的先決條件。
 
(1)       main函數的設計
在main函數中實現顯示菜單,根據菜單可以選擇要進入哪個??椋ㄍü齡etch()函數來選擇進入哪個??椋?。
同時在信息輸入錯誤的時候可以實現返回主菜單的功能(利用再次執行main函數的方法返回主菜單)。
 
        (2).??橄晗干杓?/DIV>
 
              信息輸入??椋?/DIV>
                      利用cout和cin來實現人機界面,輸入相應的信息,信息輸入后以指針數組的形式保存到商品信息庫中。
 
              信息輸出??椋?/DIV>
                       <1>.    利用if條件語句來判斷是否有商品,如果沒有則輸出:此時系統中還沒有商品,不能輸出,請添加商品的信息。
 
<2>.   如果有相應的商品則調用output()函數輸出相應的商品信息:
                    
               信息刪除??椋?/DIV>
                       <1> . 利用if條件語句來判斷商品庫的商品是否為空,若為空則輸出:此時系統中還沒有商品,不能刪除,請添加商品的信息。
                          
                       <2>  .若商品庫中的信息不為空則輸入管理員所要刪除的信息,再利用if語句來判斷管理員所輸入的信息是否在商品庫中找得到,若商品庫中有所要刪除的商品則進行刪除操作,否則提示管理員沒有要刪除的商品信息。
                       
            信息修改??椋?/DIV>
                       <1>. 利用if條件語句來判斷商品庫的商品是否為空,若為空則輸出:此時系統中還沒有商品,不能修改,請添加商品的信息。
                           
                       <2>.若商品庫中的信息不為空則輸入管理員所要修改的商品,再利用if循環語句來判斷管理員所輸入的信息是否在商品庫中找得到,若商品庫中有所要修改的商品則進行修改操作,否則提示管理員沒有要修改的商品信息。
                      
         商品排序??椋?/DIV>
<1>.利用if條件語句來判斷商品庫的商品是否為空,若為空則輸出:此時系統中還沒有商品,不能排序,請添加商品的信息。
 
<2>.若存在商品則利用for語句雙重嵌套循環來實現商品的排序,利用排序算法進行排序。
 
                  
商品查找??椋?/DIV>
        <1>..利用if條件語句來判斷商品庫的商品是否為空,若為空則輸出:此時系統中還沒有商品,不能查找,然后調用輸入信息??楹橢骱?,實現信息的輸入。
            
            <2>.若商品庫不為空則輸入要查找的商品名稱,利用for循環來查找,if語句來判斷某個商品是否為所要查找的商品,若是需要查找的商品則輸出改商品的所有信息。
                 
退出系統??椋?/DIV>
                退出系統??槭竊諉扛瞿?椴僮魍瓿珊筧緩笤儔壞饔玫?,其主要功能是返回主菜單。
菜單索引??椋?/DIV>
          <1>.    菜單索引??櫚淖饔檬鞘迪秩嘶緱?,同時在進行一次完整的操作后然后跳出程序,是控制整個系統的正常運行的關鍵。
          <2>.    這個??櫚鬧譜骼昧藄witch()語句來選擇菜單,同時設定了完成后跳出整個程序,回到主菜單。
編碼和單元測試:
      語言的選擇:
             本系統選擇c++語言來編寫。
      各個??櫚拇耄?/DIV>
             <1>商品信息輸入??椋?/DIV>
                            void add()
{
cout<<"請輸入你要增加的商品名稱"<<endl;
cin>>name;
cout<<"請輸入你要增加的商品生產地"<<endl;
cin>>place;
cout<<"請輸入你要增加的商品數量"<<endl;
cin>>num;
cout<<"請輸入你要增加的商品有效期(年 月  日)"<<endl;
cin>>time.Year>>time.Month>>time.Day;
cout<<"請輸入你要增加的商品進價"<<endl;
cin>>iprice;
cout<<"請輸入你要增加的商品售價"<<endl;
cin>>oprice;
God[j]=new Goods(name,place,time,num,iprice,oprice);
j++;}
 
             <2>商品信息刪除??椋?/DIV>
                  void shanchu()
{
                      int  x=0;
   if(j==0){cout<<"此時系統中還沒有商品,不能刪除,請添加商品的信息"<<endl;add();main();}
                      cout<<"請輸入要刪除的商品名稱!"<<endl;
                      cin>>name;
                      for(int k=0;k<j;k++)
                      if(name==God[k]->Name)
                           {
                            cout<<"存在你要刪除商品的名稱!"<<endl;
                            j--; x++;
                            for(int m=k;m<j;m++){God[m]=God[m+1];}
                            cout<<"刪除成功! "<<endl;
                }
              if(x==0){cout<<"不存在你要刪除商品的名稱!"<<endl;}
}
      
             <3>.商品信息修改??椋?/DIV>
void xiugai()
                         int x=0;
   if(j==0){cout<<"此時系統中還沒有商品,不能修改,請添加商品的信息"<<endl;add();main();}
   cout<<"請輸入要修改的商品名稱!"<<endl;
   cin>>name;
  for(int k=0;k<j;k++)
  if(name==God[k]->Name)
{
cout<<"存在你要修改商品的名稱!"<<endl;
cout<<"請重新輸入此商品生產地"<<endl;
cin>>God[k]->Place;
cout<<"請重新輸入此商品數量"<<endl;
cin>>God[k]->Num;  
cout<<"請請重新輸入此商品有效期(年 月  日)"<<endl;
cin>>(God[k]->Time).Year>>(God[k]->Time).Month>>(God[k]->Time).Day;
cout<<"請請重新輸入此商品進價地"<<endl;
cin>>God[k]->Iprice;
cout<<"請重新輸入此商品售價"<<endl;
cin>>God[k]->Oprice;                      
  x++;}
  if(x==0){cout<<"不存在你要修該商品名稱!"<<endl;} }
 
             <4>商品信息查找??椋?/DIV>
  void chazhao()
{
int i=0;
if(j==0){cout<<"此時系統中還沒有商品,不能查找,請添加商品的信息"<<endl;add();main();}
   cout<<"請輸入你要查找的商品名稱!"<<endl;
  cin>>name;
  for(int k=0;k<j;k++)
  if(name==God[k]->Name)
  {
   cout<<"存在你要查找商品的名稱!"<<endl;
   cout<<"該商品的詳細信息如下: "<<endl;
   cout<<"商品名 生產地    數量       有效期         進價     售價       利潤"<<endl;
   God[k]->output();  i++;
  }
  if(i==0){cout<<"不存在你要查詢商品名稱!"<<endl;}
}
 
             <5>商品排序??椋?/DIV>
 void paixu()
{
if(j==0){cout<<"此時系統中還沒有商品,不能排序,請添加商品的信息"<<endl;add();main();}
Goods *la;
for(int t=0;t<j;t++)
{                       for(int k=t+1;k<j;k++)
if(God[t]<God[k]){la=God[t];God[t]=God[k];God[k]=la;}
}
}
             <6>商品信息輸出??椋?/DIV>
          void shuchu()
{
                         if(j==0){cout<<"此時系統中還沒有商品,不能輸出,請添加商品的信息"<<endl;add();main();}
                         cout<<"商品名  生產地    數量       有效期         進價     售價       利潤"<<endl;
                         for(int k=0;k<j;k++)
                         God[k]->output();    
}
             <7>退出系統??椋?/DIV>
void tuichu()
{
cout<<"操作完畢,退出系統!"<<endl;
exit(0);
 
}
綜合測試:
經過visual c++ 6.0軟件的測試,本系統可以正常的運行。
鑒于本系統比較簡單詳細的測試計劃,詳細測試方案在此就省了。
.軟件維護
軟件維護是通過各種必要的維護活動使系統持久的滿足用戶的需要。
        
        
 
 
                      
                      
                       
 
                     
      
      
  關閉本頁
西部IT網合作伙伴 合作伙伴
陜西省 | 榆林 | 延安 | 銅川 | 渭南 | 商洛 | 寶雞 | 漢中 | 安康 | 咸陽
網站首頁 | 關于我們 | 售后服務 | 項目合同 | 查看留言 | 30选5是每天开奖吗 | 客服中心
© 版權所有:西安潤宇軟件科技有限公司 
公司地址:西安市碑林區 聯系電話:029-87878512 手機:13468700578 聯系人:李先生
Copyright ® 2009-2015 RunYusoft.com Inc. All Rights Reserved 
技術支持:西安潤宇軟件科技有限公司 陜ICP備 11000720號-3