2018-12-05

项目总结汇报

[任务目标]
(1) 掌握应用系统设计流程;
(2) 回顾设计过程中的知识点:窗口、控件、事件、方法;
(3) 回顾数据库编程的知识点。
[任务解析]
第一章小组成员分工
项目经理 研发助理 技术支持 文案专员 产品营销
刘德智 刘春燕 徐振博 余清河 石紫诚

第二章任务2.1 系统需求分析,简书链接(已完成)
完成人:石紫诚,简书连接:https://www.jianshu.com/p/117127c452b8?utm
第三章任务2.2 系统登录界面的制作,简书链接(已完成)
完成人:余清河 ,简书连接:https://www.jianshu.com/p/54ff3dc6495a?utm_
第四章 任务2.3 系统主界面的制作,完成人,简书链接
完成人:刘德智,简书连接:https://www.jianshu.com/p/bfa7edb1ccd7
第五章 任务2.4 系统数据库设计,完成人,简书链接
完成人:徐振博,简书链接:https://www.jianshu.com/p/9a4c35141bc6
第七章 任务2.5 登录用户验证功能设计,
完成人:徐振博,简书链接:https://www.jianshu.com/p/cd767c154357
第八章 任务2.6 密码修改界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接:https://www.jianshu.com/p/dfdf5a05f986
第十章 任务2.7 商品信息录入界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接:https://www.jianshu.com/p/1752084e86d2
第十一章 任务2.8 商品信息查询修改界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接:https://www.jianshu.com/p/8e444ac8e659
第十二章 任务2.9 系统程序的部署 完成人,简书链接
完成人:刘德智,简书连接:https://www.jianshu.com/p/341ff490476d

《2.3 系统主界面的制作》具体要求:

1.完成MDI界面程序的制作,具备多个菜单选项,其中,点击“登陆->打开”选项可以弹出子界面收银员,库管员。
图片4.png
图片3.png

2.实现MDI主界面的主要步骤#MDI界面程序制作
右击项目“添加”添加windows窗体
在新窗体里面添加MenuItem,ToolStrip,StatusStrip,timer控件如图


图片5.png

将要作为“父窗体” 的窗体的IsMdiContainer属性设置为true
(通过属性窗口设计即可)。
将要作为“子窗体” 的窗体的MdiParent属性属性指定为“父窗体”。
只有通过代码,在实例化“子窗体”后设置,如下:
FormChild formChild1 = new FormChild(); // 创建子窗体对象
formChild1.MdiParent = this; // 设置子窗体的父窗体为当前窗体
formChild1.Show(); // 在MDI中显示子窗体`

  1. 主界面中涉及到的控件以及控件的重要属性、方法
    菜单项(MenuItem)
    组合框(ComboBox)
    文本框(TextBox)

工具栏和状态栏

工具栏()ToolStrip
菜单栏(StatusStrip)
ImageScalingSize: 工具栏或状态栏的项显示图像的大小
Items : 在工具条或状态条上显示的项的集合
DisplayStyle : 设置图像和文本的显示方式,包括显示文本、显示图像、显示文本和图像或什么都不显示
Image: 按钮/标签上显示的图片
Click: 单击按钮/标签时,触发该事件
Text : 单击按钮/标签时,触发该事件
Spring : 指定项是否填满剩余空间

3.主界面的功能如何与系统结构图对应
数据库验证登陆成功,进入对应子窗体。

  1. 贴入重要代码片段,并进行详细描述
    FormChild formChild1 = new FormChild(); // 创建子窗体对象
    formChild1.MdiParent = this; // 设置子窗体的父窗体为当前窗体
    formChild1.Show(); // 在MDI中显示子窗体`

2.4系统数据库设计》具体要求:

  1. 描述抽象数据库表的过程,绘制流程图(提示:四个步骤)
    抽象数据库表:
    库管员——>工号,姓名,登录密码,电话
    收银员:——>工号,姓名,登录密码,电话
    商品信息:——>价格,名称,条码,规格

流程图:
图片6.png

4.ER图
图片6.png

5.给出智慧商超涉及到的数据库表的各个字段
登陆涉及字段:
工号,姓名,登录密码,电话
商品涉及字段:
价格,名称,条码,规格
《2.5 登录用户验证功能设计》具体要求:

1.贴效果图,最好是GIF文件
图片8.png

2.描述画面主要功能,并列出支持这些功能的后台数据库表结构
主要功能:验证用户登录
表结构:
收银员表:工号(主键),姓名,密码,电话
库管员表:工号(主键),姓名,密码,电话
3.ADO.NET查询数据库的流程
方法一
1.导入命名空间;
2.运用Connection对象建立与数据库连接;
3.打开连接;
4.利用Command对象的ExecuteReader()
方法执行Select查询语句;
5.利用ExecuteReader()方法返回的
DataReader对象读取数据,显示到界面上;
6.关闭连接。
方法二
1.通过Connection对象建立与数据库的连接
2.利用Command对象执行SQL语句或存储过程
3.通过DataReader对象将Command对象执行SQL语句查询后的具体数据从数据库中一条一条读取到DaraReader对象中
4.在客户端将数据呈现出来

4.贴入重要代码片段,并进行详细描述

《2.6 密码修改界面功能设计》具体要求:

1.贴效果图,最好是GIF文件
图片9.png

2.描述画面主要功能,并列出支持这些功能的后台数据库表结构

用户名直接显示不能更改,输入新密码,再确认密码,两次一样才能确定更改成功
图片10.png

3.ADO.NET更新数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,运用Connection对象建立与数据库连接;
  3. 打开连接;
  4. 利用Command对象的ExecuteNoQuery()方法执行Update语句;
  5. 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
  6. 关闭连接
  1. 贴入重要代码片段,并进行详细描述
    if (newPwd.Equals(""))
    {
    MessageBox.Show("请输入新密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }
    else if (confPwd.Equals(""))
    {
    MessageBox.Show("请输入确认密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }
    else if (newPwd != confPwd)
    {
    MessageBox.Show("两次密码不一致", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }

         // 连接字符串,注意与实际环境保持一致
         string connStr = "Data Source=.;Initial Catalog=ldz2017270397;Integrated Security=True";
         SqlConnection sqlConn = new SqlConnection(connStr);
         try
         {
             //连接数据库
             sqlConn.Open();
             // 构造UPDATE命令
             String sqlStr = "update EMPLOYEE set password=@pwd where id=@id";
             SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
             // SQL字符串参数赋值
             cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));
             cmd.Parameters.Add(new SqlParameter("@id", userName));
             // 将命令发送给数据库
             int res = cmd.ExecuteNonQuery();
             // 根据返回值判断是否修改成功
             if (res != 0)
             {
                 MessageBox.Show("密码修改成功");
                 this.Close();
             }
             else
             {
                 MessageBox.Show("密码修改错误");
             }
    

《2.7 商品信息录入界面功能设计》具体要求:

1.贴效果图,最好是GIF文件
图片11.png

2.描述画面主要功能,并列出支持这些功能的后台数据库表结构


图片12.png

3.ADO.NET插入数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,运用Connection对象建立与数据库连接;
  3. 打开连接;
  4. 利用Command对象的ExecuteNoQuery()方法执行Insert语句;
  5. 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
  6. 关闭连接
  1. 画面功能是如何迭代的,描述迭代过程(无外键à有外键)

  2. ComboBox数据绑定流程
    // 连接字符串,注意与实际环境保持一致
    String connStr = ConfigurationManager.ConnectionStrings["ldz2017270397"].ConnectionString;
    SqlConnection sqlConn = new SqlConnection(connStr);
    try
    {
    // 连接数据库
    sqlConn.Open();

             // 构造命令
             String sqlStr = "insert into goodes(id, name, price, spec, remark) values(@id, @name, @price, @spec, @remark)";
             SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
    
  3. 贴入重要代码片段,并进行详细描述


    图片13.png

2.8 商品信息查询修改界面功能设计》具体要求:

  1. 贴效果图,最好是GIF文件


    图片14.png
  2. 描述画面主要功能,并列出支持这些功能的后台数据库表结构


    图片15.png

4.ADO.NET删除数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,创建Connection对象;
  3. 打开连接;
  4. 利用DataAdapter对象,建立与数据库的连接桥;
  5. 通过DataAdapter桥,将查询结果存储到DataSet对象中;
  6. DataGridView控件绑定DataSet,将查询结果显示出来
  7. 关闭连接。
  1. 画面功能是如何迭代的,描述迭代过程(无供应商à有供应商)

  2. DataGridView数据绑定流程
    //点击修改链接
    if (e.RowIndex != -1 && e.ColumnIndex == 0)
    { // 获取所要修改关联对象的主键
    string goodsId = this.dataGridView1["Column1", e.RowIndex].Value.ToString();
    Form7 form7 = new Form7(goodsId);
    form7.Show();

         }
         else if (e.RowIndex != -1 && e.ColumnIndex == 1)
         {
             if (MessageBox.Show("确认删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
             {
                 //获取所要删除关联对象的主键
                 string goodsId = this.dataGridView1["Column1", e.RowIndex].Value.ToString();
    
  3. 贴入重要代码片段,并进行详细描述


    图片16.png

《2.9 系统程序的部署》具体要求:
1.贴效果图,最好是GIF文件


图片18.png
图片17.png

2.系统部署前的准备工作(制作图标、添加关于菜单)


图片19.png

3.应用系统打包流程描述
(1)在项目名上右键,选择“添加新建项”,新建“关于框”
(2)在框属性添加所用的ico图片设置窗口图片


图片20.png

(3)显示关于菜单
private void tsm_About_Click(object sender, EventArgs e)
{
AboutBox about = new AboutBox();
about.ShowDialog();
}
(4)在项目名上右键,选择属性在程序集信息设置软件信息,下方添加设置应用程序图标


图片21.png

(5)点击发布选择发布位置。

  1. 安装包描述,包括如何安装、程序安装位置、如何卸
    简书连接:https://www.jianshu.com/p/341ff490476d
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_X自主阅读 15,988评论 3 119
  • 什么是黑盒测试: 1.把被测对象看做是一个黑盒子,只考虑其整体特性,不考虑其内部结构;2.被测对象可以使一个系统、...
    b099e4f1c471阅读 284评论 0 0
  • 今天在等待的时间读了寿司之神小野二郎的《巨匠的技与心》。更是对这个老先生的匠人精神有了更深刻的了解,充满深深地敬意...
    眼镜姐姐Lily阅读 516评论 0 0
  • 作为老乡的小学妹那天跟我说,她搬出了寝室,在学校小区租了一个房子。而原因就是再平常不过的舍友之间生活习惯不...
    i小森阅读 1,712评论 2 3
  • 坚持记录 改变一生 《陪伴是最好的礼物》 会利原创分享第299天 昨天买了吹泡泡的工具,今天就陪儿子吹个够...
    王会利阅读 119评论 3 3