课程设计 银行储蓄系统

main.cpp
/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iomanip>
#include <cstdio>
#include "staff.h"
#include "bank.h"
#include "user.h"
#include <ctime>
using namespace std;
void ctime();
int main()
{
    cout<<"+-----------------------------------+"<<endl;
    cout<<"+ ※※※                            +"<<endl;
    cout<<"+        欢迎来到暮光银行           +"<<endl;
    cout<<"+                            ※※※ +"<<endl;
    cout<<"+-----------------------------------+"<<endl;
    //ctime();
    Bank b;
    if(!b.passtaff())            //业务员登录
        exit(1);                 //退出系统
    cout<<endl;
    b.showMenu();                //显示菜单
    b.manage();                  //开始工作
    return 0;
}

bank.cpp

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <stdio.h>
#include <fstream>
#include "staff.h"
#include "bank.h"
using namespace std;
/*功能描述:验证密码
*输入参数:只能为数字的密码
*输出参数:形式如******的密码表现形式
*/
int inputPassword()
{
    char ch;  //接收字符形式密码
    int iPass=0;   //要转换为数字
    int i;
    while(1)
    {
        for(i=0; i<6; i++)
        {
            ch=getch();  //输入但不显示
            putchar('*');   //输出*
            if(isdigit(ch))
                iPass=iPass*10+(ch-'0');
            else
            {
                iPass=0;
                break;  //退出for循环后,再次接受
            }
        }
        fflush(stdin); //清除键盘缓存区中已经有的输入
        cout<<endl;
        if(iPass==0)  //此条件成立可能由两种情况引起:输入了非数字字符被直接重置为0,或6位全0后正常退出for循环
        {
            cout<<"密码要求全为数字,且不能全0!"<<endl;;
            cout<<"请重新输入密码: ";
        }
        else
            break;
    }
    return iPass;
}

//功能描述:业务员登录
bool Bank::passtaff()
{
    Staff s1;
    string acc;
    char ch;
    cout<<"请输入业务员账户:";
    cin>>acc;
    for(int j=0; j<3; ++j)
    {
        int pw=0;
        cout<<"请输入密码:";
        for(int i=0; i<6; i++)
        {
            ch=getch();  //输入但不显示
            putchar('*');   //输出*
            pw=pw*10+(ch-'0');
        }
        if(s1.pass(acc,pw))
        {
            return true;
        }
        else
        {
            cout<<"\n用户名或密码错误。"<<endl;
        }
    }
    cout<<"\n错误三次,系统自动退出。"<<endl;
    return false;
}
//显示菜单
void Bank::showMenu()
{
    cout<<endl;
    cout<<"+--------------------------------+"<<endl;
    cout<<"+ 1 开户      2 销户      3 存款 +"<<endl;
    cout<<"+ 4 取款      5 查询      6 转账 +"<<endl;
    cout<<"+ 7 挂失      8 解挂      0 退出 +"<<endl;
    cout<<"+ 9 修改信息         10 个人信息 +"<<endl;
    cout<<"+--------------------------------+"<<endl;
}
//开始工作
void Bank::manage()
{
    int order=1;
    do
    {
        openfile();
        cout<<"请输入操作指令:";
        cin>>order;
        switch(order)
        {
        case 1:
            openAccount();
            break;
        case 2:
            deleteAccount();
            break;
        case 3:
            saveMoney();
            break;
        case 4:
            drawMoney();
            break;//取款
        case 5:
            refer();
            break;//查询
        case 6:
            transfer();
            break;//转账
        case 7:
            reportLoss();
            break;//挂失
        case 8:
            hangSolution();
            break;//解挂
        case 9:
            changedisplays();
            break;//修改个人信息
        case 10:
            display();
            break;//显示个人信息
        case 0:
            cout<<endl;
            cout<<"+--------------------------------------+"<<endl;
            cout<<"+        谢谢您的使用,再见!          +"<<endl;
            cout<<"+--------------------------------------+"<<endl;
            exit(1);
            break;
        }
        savefile();
    }
    while(1);
}

void Bank::openAccount()  //开户
{
    int acc;   //账号
    char nam[20];   //姓名
    int pw;   //密码
    char di[30]; //地址
    char pho[11];//电话
    double mon;   //金额
    int sta;   //状态
    char id[18];   //身份证号

    cout<<"正在开户"<<endl;
    acc=10001+nownum;
    cout<<"账号:"<<acc<<endl;
    cout<<"户主姓名:";
    cin>>nam;
    cout<<"身份证号:";
    for(int n=0; n<18; n++)
    {
        cin>>id[n];
    }
    cout<<"地址:";
    cin>>di;
    cout<<"联系电话(请输入正确的手机号码):";
    for(int n=0; n<11; n++)
    {
        cin>>pho[n];
    }
    int Pass1, Pass2;
    cout<<"密码:";
    Pass1=inputPassword();  //输入密码1
    cout<<"确认密码:";
    Pass2=inputPassword();  //输入密码2
    if(Pass1==Pass2)
    {
        pw=Pass1;
        sta=0; //账户状态为“正常”
        cout<<"存入金额:";
        cin>>mon;
        if(mon>50) //一般银行开户最低金额为50
        {
            users[nownum].setUser(acc,nam,id,di,pho,pw,mon,sta);//出了好几次错的地方  id
            ++nownum;                           //正式用户数增加1,确认了新用户已经加入
            cout<<"开户成功!"<<endl;
        }
        else
            cout<<"金额少于50元,开户失败"<<endl;
    }
    else
    {
        cout<<"两次密码不一致,未成功开户!"<<endl; //没有N++,则读入的值无效
    }
}

void Bank::deleteAccount()
{
    int who;  //查找到该账号在数组中对应的下标
    who=getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            users[who].showMoney("余额:");   //提示"余额"二字,显示金额
            cout<<"确认销户(y/n)?";
            if(getchar()=='y'||getchar()=='Y')
            {
                users[who].showMoney("销户成功!本次取款金额为:");
                users[who].money=0;  //取款后余额变0
                users[who].status=2;  //状态变为注销

            }
            else
            {
                cout<<"你取消了操作,销户失败!"<<endl;
            }
        }
    }
}

void Bank::saveMoney() //存款
{
    int who;
    double money;
    who=getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        if(users[who].status==0)
        {
            users[who].showName();
            //cout<<endl;
            cout<<"输入存款额:";
            cin>>money;
            users[who].money+=money;
            users[who].showMoney("存款后,金额为:");
        }
        else if(users[who].status==1)
        {
            cout<<"该用户处于挂失状态,存款失败!"<<endl;
        }
        else if(users[who].status==2)
        {
            cout<<"该用户已经销户,存款失败!"<<endl;
        }
    }
    return;
}
void Bank::drawMoney() //取款
{
    int who;
    double money;
    who=getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        if(users[who].isNormalUser())
        {
            users[who].showName();
            if(users[who].passwordIsRight())
            {

                cout<<"输入取款额:";
                cin>>money;

                if(money>users[who].money)
                {
                    cout<<"余额不足,取款失败!"<<endl;
                }
                else
                {
                    users[who].money-=money;
                    users[who].showMoney("取款后,余额为:");

                }
            }
        }
    }
    return;
}

void Bank::refer()    //查询
{
    int who;
    int cacc;
    char pan;
    string cnam;
    string sta[3]= {"正常","挂失","已经销户"};
    string hms;
    string cyw;
    who=getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            users[who].showMoney("余额:");
            cout<<"状态:"<<sta[users[who].status]<<endl;
            cin>>pan;
            if(pan!='y')
            {

                if(users[who].account!=cacc)
                {
                    cout<<"当前未办理过任何业务。"<<endl;
                }
            }
            else
            {
                cout<<"+-------------查询结束-------------+"<<endl;
                cout<<endl;
            }
        }


    }
    return;
}
void Bank::transfer()   //转账
{
    int whoout, whoin;
    double money;
    cout<<"转出自";
    whoout=getUser();  //根据账号查询用户,返回用户的下标
    if(whoout>=0)   //说明id账户存在
    {
        if(users[whoout].isNormalUser())
        {
            users[whoout].showName();
            if(users[whoout].passwordIsRight())
            {
                cout<<"输入转账金额:";
                cin>>money;
                if(money>users[whoout].money)
                {
                    cout<<"余额不足,转账失败!"<<endl;
                }
                else
                {
                    cout<<"转出到";
                    whoin = getUser();  //根据账号查询用户,返回用户的下标
                    if(whoin>=0)   //说明id账户存在
                    {
                        if(users[whoin].isNormalUser())
                        {
                            users[whoout].money-=money;
                            users[whoin].money+=money;
                            users[whoout].showMoney("转账后,余额为:");

                        }
                    }
                }
            }
        }
    }
    return;
}

void Bank::reportLoss()   //挂失
{
    int who;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            if(users[who].status==0)
            {
                users[who].status=1;
                cout<<"挂失成功"<<endl;

            }
            else if(users[who].status==1)
            {
                cout<<"该账户已经处于挂失状态"<<endl;
            }
            else if(users[who].status==2)
            {
                cout<<"该账户已销户,不能挂失"<<endl;
            }
        }
    }
    return;
}

void Bank::hangSolution() //解挂
{
    int who;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            if(users[who].status==0)
            {
                cout<<"该账户处于正常状态,不需要解除挂失"<<endl;
            }
            else if(users[who].status==1)
            {
                users[who].status=0;
                cout<<"解除挂失成功"<<endl;
            }
            else if(users[who].status==2)
            {
                cout<<"该账户已销户,操作无效"<<endl;
            }
        }
    }
    return;
}

void Bank::changePassword() //改密
{
    int who;
    int iPass1, iPass2;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            cout<<"新密码:";
            iPass1=inputPassword();  //输入密码1
            cout<<"确认密码:";
            iPass2=inputPassword();  //输入密码2
            if(iPass1==iPass2)
            {
                users[who].password=iPass1;
                cout<<"密码修改成功!"<<endl;
            }
            else
            {
                cout<<"两次输入不同,修改失败!"<<endl;
            }
        }
    }
    return;
}
void Bank::changename() //修改用户名
{
    int who;
    string nam;
    char pan;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            cout<<"新姓名:";
            cin>>nam; //输入用户名
            cout<<"确认修改姓名(y/n)?";
            cin>>pan;
            if(pan=='y')
            {
                users[who].name=nam;


                cout<<"用户名修改成功!"<<endl;
            }
            else
            {
                cout<<"你已取消修改!"<<endl;
            }
        }
    }
    return;
}
void Bank::changedizhi() //修改地址
{
    int who;
    char di[30];
    char pan;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            cout<<"新地址:";
            gets(di); //输入地址
            cout<<"确认修改地址(y/n)?";
            cin>>pan;
            if(pan=='y')
            {
                for(int n=0; n<30; n++)

                    users[who].dizhi[n]=di[n];


                cout<<"地址修改成功!"<<endl;
            }
            else
            {
                cout<<"你已取消修改!"<<endl;
            }
        }
    }
    return;
}
void Bank::changeidcard() //修改身份证号
{
    int who;
    char id[18];
    char pan;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            cout<<"新身份证号:";
            gets(id); //输入身份证号
            cout<<"确认修改身份证号(y/n)?";
            cin>>pan;
            if(pan=='y')
            {
                for(int n=0; n<18; n++)
                {
                    users[who].idcard[n]=id[n];
                }
                cout<<"身份证号修改成功!"<<endl;
            }

            else
            {
                cout<<"你已取消修改!"<<endl;
            }
        }

    }
    return;

}
void Bank::changephone() //修改手机号
{
    int who;
    char pho[11];
    char pan;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].showName();
        if(users[who].passwordIsRight())
        {
            cout<<"新电话号:";
            gets(pho); //输入电话号
            cout<<"确认修改电话号(y/n)?";
            cin>>pan;
            if(pan=='y')
            {
                for(int n=0; n<11; n++)
                {
                    users[who].phone[n]=pho[n];
                }
                cout<<"电话号修改成功!"<<endl;
            }

            else
            {
                cout<<"你已取消修改!"<<endl;
            }
        }
    }
    return;

}
void Bank::changedisplays() //修改个人信息
{
    int n;
    cout<<"+----请输入想要修改的项目:----+"<<endl;
    cout<<"+-----------1.姓名-------------+"<<endl;
    cout<<"+-----------2.身份证号---------+"<<endl;
    cout<<"+-----------3.密码-------------+"<<endl;
    cout<<"+-----------4.地址-------------+"<<endl;
    cout<<"+-----------5.电话-------------+"<<endl;
    cout<<"请输入:";
    cin>>n;
    switch(n)
    {
    case 1:
        changename();
        break;
    case 2:
        changeidcard();
        break;
    case 3:
        changePassword();
        break;
    case 4:
        changedizhi();
        break;
    case 5:
        changephone();
        break;
    }
}

int Bank::getUser() //查找用户   二分法
{
    int id;
    cout<<"账号:";
    cin>>id;
    int index=-1;
    int low=0, high=nownum-1, mid;
    while(low<=high)
    {
        mid = (low+high)/2;
        if(users[mid].account==id)
        {
            index=mid;
            break;   //找到了,立即退出循环
        }
        else if (users[mid].account>id)
            high=mid-1;
        else
            low=mid+1;
    }
    if (index<0)
        cout<<"该用户不存在,本次操作失败!"<<endl;
    return index; //若找到,其值在0~N-1间,否则,保持-1
}

void Bank::openfile()//导入文件
{
    ifstream infile("users.txt",ios::in);
    int i=0;
    if(!infile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    nownum=jis();        //jis里面有return当前总用户数
    users=new User[nownum+1];
    while(infile>>users[i].account>>users[i].name>>users[i].idcard>>users[i].dizhi>>users[i].phone>>users[i].password>>users[i].money>>users[i].status)
    {
        ++i;
    }
    infile.close();
}
void Bank::savefile() //保存文件
{
    ofstream qingkfile("users.txt",ios::trunc);//trunc 打开并清空文件
    qingkfile.close();
    ofstream outfile("users.txt",ios::out);
    if(!outfile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    for(int i=0; i<nownum; ++i)          //注意这里的空格即‘\t',关系到是否能正常保存用户信息
    {
        outfile<<users[i].account<<'\t'<<users[i].name<<'\t';
        for(int n=0; n<18; n++)
        {
            outfile<<users[i].idcard[n];
        }
        outfile <<'\t'<<users[i].dizhi<<'\t';
        for(int n=0; n<11; n++)
        {
            outfile<<users[i].phone[n];
        }
        outfile<<'\t'<<users[i].password<<'\t'<<users[i].money<<'\t'<<users[i].status<<endl;
    }
    outfile.close();
    delete []users;                   //释放剩余空间
    return;
}
void Bank::display()      //显示个人信息
{
    int who;
    who = getUser();  //根据账号查询用户,返回用户的下标
    if(who>=0)   //说明id账户存在
    {
        users[who].displays();
    }
}
int Bank::jis()
{
    int acc;   //账号
    char nam[20];   //姓名
    char id[18]; //身份证号
    char di[30];//地址
    char pho[11];//电话
    int pw;   //密码
    double mon;   //金额
    int sta;   //状态
    int i=0;
    int nownum;
    ifstream infile("users.txt");
    while(infile>>acc>>nam>>id>>di>>pho>>pw>>mon>>sta)
    {
        ++i;
    }
    infile.close();
    return i;
}

staff.cpp

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include "staff.h"
using namespace std;
bool Staff::pass(string sacc,int ps)
{
    bool judge=false;
    fstream infile("staff.txt",ios::in);
    if(!infile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    while(!infile.eof())
    {
        infile>>stafft.account>>stafft.password;
        if(stafft.account==sacc&&ps==stafft.password)
        {
            judge=true;
            break;
        }
    }
    infile.close();
    return judge;
}

user.cpp

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <conio.h> //将密码变成*号
#include "user.h"
using namespace std;
bool inputpassw()
{
    char ch;  //接收字符形式密码(这里必须输入字符,因为只有字符才能转化成'*')
    int iPass=0;   //要转换为ascll的形式
    int i;
    while(1)
    {
        for(i=0; i<6; i++)
        {
            ch=getch();  //输入但不显示
            putchar('*');   //输出*
            if(iPass=ch)
                return true;  //假设第一位输入1,第二位输入2,那么此时密码就应该是1*10+2=12####
            else
            {
                iPass=0;
                return false;
                break;  //退出for循环后,再次接受
            }
        }
    }
    return iPass;
}
void User::setUser(int acc,string nam,char id[18],char di[30],char pho[11],int pw, double mon,int sta)
{
    account=acc;
    name=nam;
    for(int n=0; n<30; n++)
    {
        dizhi[n]=di[n];
    }
    for(int n=0; n<11; n++)
    {
        phone[n]=pho[n];
    }
    password=pw;
    money=mon;
    for(int n=0; n<18; n++)
    {
        idcard[n]=id[n];
    }
    status=sta;
}
bool User::passwordIsRight()
{
    int iPass;
    bool right=true;

    cout<<"输入密码:";
    iPass=inputpassw();
    if(iPass!=password)
    {
        right = false;
        cout<<"输入密码错误,不能继续操作!"<<endl;
    }
    return right;
}

void User::showName()
{
    cout<<"用户名:"<<name<<endl;

}

void User::showMoney(string prompt)
{
    cout<<prompt<<money<<endl;
}

bool User::isNormalUser()            //判断用户状态是否正确
{
    bool normal = true;
    if(status!=0)
    {
        normal = false;
        cout<<"该账户处于"<<(status==1?"挂失":"销户")<<"状态,不能继续操作..."<<endl;
    }
    return normal;
}
void User::displays()
{
    cout<<"卡号:"<<account<<endl;
    cout<<"姓名:";
    cout<<name<<endl;
    cout<<"地址:";
    cout<<dizhi<<endl;
    cout<<"电话: ";
    for(int n=0; n<11; n++)
    {
        cout<<phone[n];
    }
    cout<<endl;
}

bank.h

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#ifndef BANK_H_INCLUDED
#define BANK_H_INCLUDED
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>
#include <ctype.h>
#include <cstdlib>
#include <cstdio>
#include <conio.h>
#include "user.h"
using namespace std;
class Bank
{
public:
    Bank()
    {
        nownum=0;
    }
    bool passtaff();             //业务员信息
    void openfile();             //导入文件
    void savefile2(int acc, string nam, char id[18], char di[30],char pho[11],int pw, double mon,int sta);   //保存一行数据
    void caculfile();            //计算
    void savefile();             //保存文件
    void manage();               //开始工作
    void showMenu();             //显示菜单
    void openAccount();          //开户
    void deleteAccount();        //销户
    void saveMoney();            //存款
    void drawMoney();            //取款
    void refer();                //查询
    void transfer();             //转账
    void reportLoss();           //挂失
    void hangSolution();         //解挂
    void changePassword();       //改密
    void changename();           //改姓名
    void changeidcard();         //改身份证
    void changedizhi();          //改地址
    void changephone();          //改电话
    void display();             //显示个人信息
    void changedisplays();      //修改个人信息
    int getUser();              //查找用户
    int jis();                  //计算用户数
private:
    int nownum;
    User *users;
    //User数组,动态数组 体现在保存文件方面   delete[]users
};



#endif // BANK_H_INCLUDED

staff.h

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#ifndef STAFF_H_INCLUDED
#define STAFF_H_INCLUDED
#include <iostream>
#include <cmath>
using namespace std;
struct staffTatus
{
    string account;
    int password;
};
class Staff
{
public:
    bool pass(string sacc,int ps);
private:
    staffTatus stafft;
};


#endif // STAFF_H_INCLUDED

user.h

/*版权所有
*文件名称:银行储蓄系统
*当前版本:V1.0
*作者:曹莉萍
*完成日期:2015.07.18
*/
#ifndef USER_H_INCLUDED
#define USER_H_INCLUDED
#include <iostream>
#include <cmath>
using namespace std;
//定义user类
class User
{
public:
    User() {}
    void setUser(int acc, string nam,char id[18],char di[30],char pho[11],int pw, double mon,int sta);
    bool isNormalUser();       //判断用户状态是否正确
    bool passwordIsRight();    //判断密码是否正确
    void showName();          //输出用户名
    void displays();          //输出用户个人信息
    void showMoney(string prompt);//显示余额
    friend class Bank;        //友元类
private:
    int account;
    string name;
    char dizhi[30];
    char phone[11];
    int password;
    double money;
    char idcard[18];
    int status;
};




#endif // USER_H_INCLUDED




一、系统设计的成果 系统设计阶段的成果归纳起来一般有 (点击这里观看“各开发环节之间的关系”动画演示): 1.系统总体结构图(包括总体结构图,子系统结构图,计算机流程图等)。 2.系统设备配置图(系统设备配置图: 主要是计算机系统图,设备在各生产岗位的分布图,主机、网络、终端联系图等)。 3.系统分布编码方案(分类方案、编码系统)。 4.数据库结构图(DB的结构,主要指表与表之间的结构,表内部结构(字段、域、数据字典等)。 5.HIPO图(层次化模块控制图、IPO图等等)。 6.系统详细设计方案说明书。 二、系统设计说明书的组成 1.引言 (1) 摘要 系统的目标名称和功能等的说明 (2) 背景 l 项目开发者 l 用户 l 本项目和其它系统或机构的关系和联系 (3) 系统环境与限制 l硬件、软件和运行环境方面的限制 l保密和安全的限制 l有关系统软件文本 l有关网络协议标准文本 (4) 参考资料和专门术语说明 2.系统设计方案 (1) 模块设计 l系统的模块结构图 l各个模块的IPO图(包括各模块的名称、功能、调用关系、局部数据项和详细的算法说明等) (2) 代码设计 l各类代码的类型、名称、功能、使用范围和使用要求等的设计说明书 (3) 输入设计 l输入项目 输入人员(指出所要求的输入操作人员的水平与技术专长,说明与输入数据有关的接口软件及其来源) l主要功能要求(从满足正确、迅速、简单、经济、方便使用者等方面达到要求的说明) l输入校验(关于各类输入数据的校验方法的说明) (4) 输出设计 l输出项目 l输出接受者 l输出要求(所用设备介质、输出格式、数值范围和精度要求等) (5) 文件(数据库)设计说明 l概述(目标、主要功能) l需求规定(精度、有效性、时间要求及其它专门要求) l运行环境要求(设备支撑软件,安全保密等要求) l逻辑结构设计(有关文件及其记录、数据项的标识、定义、长度和它们之间的关系) l物理结构设计(有关文件的存贮要求、访问方法、存贮单位、设计考虑和保密处理等) (6) 模型库和方法库设计(本系统所选用的数学模型和方法以及简要说明) (7) 安全保密设计 (8) 物理系统配置方案报告 l硬件配置设计 l通信与网络配置设计 l软件配置设计 l机房配置设计 (9) 系统实施方案及说明 l实施方案 l实施计划(包括工作任务的分解、进度安排和经费预算) l实施方案的审批(说明经过审批的实施方案概况和审批人员的姓名)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值