VS2019下使用MFC完成科技项目管理系统

背景:

(一)实验目的

通过该实验,使学生掌握windows程序设计的基本方法。了解科技项目组织管理的主要内容和管理方面的基本常识,熟练应用数据库知识,通过处理过程对计算机软件系统工作原理的进一步理解,促进对面向对象概念的系统理解以及面向对象方法的应用。

(二)实验要求

1、基本要求

a.三大模块:项目人员的管理、对项目本身进行管理、对项目的执行情况进行管理

b.界面设计和功能模块:

(1)用户包括:项目管理者A、科研工作者C、科技项目日常管理者B,能设定用户及密码;

  • 注册、登录

第一个数据表(账号密码管理数据表1):包含账号、密码、身份或职称(A、B、C)、出生日期、工作单位、研究方向

Ps: 不同身份进入系统时,拥有的权限不同。老师提供两种思路:不同身份进入系统后,一级菜单二级菜单不一样,可以做不同的界面;或者使用同一界面,但某一身份进入系统后,功能按钮是灰色的,不能点击。

(2)管理项目人员,可以增加(即录入)、删除、修改、查询(即显示)(AB拥有此四项权限)

② 录入:录入参与人员(只能从表1中选择添加,可以使用下拉菜单或者搜索等方式,注意如果添加了一个非表1中的人员,系统需要显示报错,此人不存在)

   显示、修改、删除:负责人对项目人员进行的操作

(3)管理项目,录入科技项目的基本信息(AB拥有该权限),对科技项目进行删除/修改(B拥有该权限)、查询(ABC拥有该权限)的操作;

(4)科技项目计划管理:为科技项目配置管理者、进行任务分解和分工,配置研究人员,明确项目进度计划;

(5)进度跟踪:根据科技项目的进展计划,填入进度信息。

③ 第二个数据表(项目管理数据表2)

   录入科技项目的基本信息:名称、编号、负责人和项目成员(从表1中选择添加)、经费总额(用于分配经费和任务,显示项目进度,体现执行情况)

   查询:名下所有项目及其信息

   修改/删除:只针对科技项目日常管理者B

Ps:关于执行情况方面的体现,老师提供思路是从经费上面体现,这里需要嵌套一个表,是关于经费报销情况,报销一次费用,增加一条记录,经费余额相应减少

2、发挥部分

(1)科技项目执行分析:根据项目的实际执行数据,分类统计项目的成本以及进展情况,当进度落后时,能够报警;(比如:设置项目进度应该为两天时间让经费10w变为5w才算合格,但实际情况变为了8w,进入系统时将报警,显示进度缓慢)

c.数据库连接:最好使用下面展示的上学期C++课程中老师讲的方法,但我在实操过程中没能实现。

追加强调要求:

1:vs编辑器下,比如vs2019

2:至于数据库,先开始要求是access数据库,博主考虑到这个数据库比较大,沟通变换了mysql数据库进行开发会提供mysql数据库安装与navicat绿色版连接来帮助程序正常运行。

3:程序界面逻辑以单文档方式进行【同一时刻只能操作一个文档】

思路分析:

发挥部分不做,针对于进度跟踪和科技计划管理做一个弱化处理,比如允许编辑修改经费来体现,不然系统过于复杂。我们重点关注用户模块、管理项目人员和管理项目开发。

过程效果展示:

数据库用户表设计

用户模块登录注册:

管理项目人员模块:

用户张三登录界面【科研工作者权限C】,仅可以查看,最低权限:

科技项目计划管理,以编辑功能来体现模块

用户李四登录界面【权限B】,可以增加项目(团队成员、经费),拥有最高权限:

进度跟踪功能:以编辑能够修改项目经费角度来体现!

修改完成!

用户王五登录界面【权限C】,可以增加项目(团队成员、经费),拥有最高权限

相关文档展示:

功能说明文档:

提交作业报告:

源码获取

欢迎大家点赞、收藏、关注、评论、批评啦 、查看👇🏻👇🏻获取联系方式👇🏻👇🏻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/324742.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【valse 2024】开幕式内容汇总

提示:需要完整版ppt请私信 文章目录 一、大会主旨报告主旨报告-1:大模型时代的机遇和挑战主旨报告-2:以深度学习框架为牵引促进自主 AI生态发展主旨报告-3:从洞穴的影子到智能的光辉--连接和交互方式的改变塑造未来生活 (未完成) 二、大会特邀报告1:图像生成和视频生…

【好困】磁场里的瞌睡虫:地磁暴真的会让我们感到疲倦吗?

【好困】磁场里的瞌睡虫:地磁暴真的会让我们感到疲倦吗? 写在最前面地磁暴真的会让我们感到疲倦吗?一探究竟地磁暴是什么?地磁暴如何影响人体?结论 🌈你好呀!我是 是Yu欸 🌌 2024每…

凸优化理论学习一|最优化及凸集的基本概念

文章目录 一、优化问题(一)数学优化(二)凸优化 二、凸集(一)一些标准凸集(二)保留凸性的运算(三)正常锥和广义不等式(四)分离和支撑超…

dos命令改3389端口,通过dos命令更改3389端口的操作

要使用DOS命令更改3389端口,通常涉及修改Windows注册表中的相关键值。请注意,直接操作注册表具有一定的风险,因此在进行任何更改之前,请确保您了解正在进行的操作,并已经采取了适当的备份措施。 以下是一个基本的操作步…

原子学习笔记4——GPIO 应用编程

一、应用层如何操控 GPIO 与 LED 设备一样,GPIO 同样也是通过 sysfs 方式进行操控,进入到/sys/class/gpio 目录下,如下所示: gpiochipX:当前 SoC 所包含的 GPIO 控制器,我们知道 I.MX6UL/I.MX6ULL 一共包…

Threejs Shader动态修改Merge合并几何体中单个Mesh的颜色

目录 Merge合并 现象 思路 实现 为单个geometry添加映射 通过id检索Merge后的Geometry映射属性,获取顶点坐标 onBeforeCompile修改编译前材质的着色代码 编译前材质的顶点着色代码 编译前材质的片元着色代码 着色器代码 注意 效果 Merge合并 mergeBuf…

redis深入理解之数据存储

1、redis为什么快 1)Redis是单线程执行,在执行时顺序执行 redis单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的,Redis在处理客户端的请求时包括获取(socket 读)、解析、执行、内容返回 (socket 写)等都由一个顺序串行的主线…

sqli-labs第一关

1、提示我们需要传递一个id的参数 ?id1 2、判断是什么类型的注入(字符or整形)结果:存在字符型注入 ?id1 ?id1 -- 3、使用联合查询,查看有几列。结果:有3列 ?id1 order by 4 -- 4、查看这3列中哪几列会在页面显…

Lombok介绍、使用方法和安装

目录 1 Lombok背景介绍 2 Lombok使用方法 2.1 Data 2.2 Getter/Setter 2.3 NonNull 2.4 Cleanup 2.5 EqualsAndHashCode 2.6 ToString 2.7 NoArgsConstructor, RequiredArgsConstructor and AllArgsConstructor 3 Lombok工作原理分析 4. Lombok的优缺点 5. 总结 1 …

QueryPerformanceCounter实现高精度uS(微妙)延时

参考连接 C# 利用Kernel32的QueryPerformanceCounter封装的 高精度定时器Timer_kernel32.dll queryperformancecounter-CSDN博客https://blog.csdn.net/wuyuander/article/details/111831973 特此记录 anlog 2024年5月11日

土地档案管理关系参考论文(论文 + 源码)

【免费】javaEE土地档案管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89296786 土地档案管理关系 摘 要 研究土地档案管理关系即为实现一个土地档案管理系统。土地档案管理系统是将现有的历史纸质档案资料进行数字化加工处理,建成标准化的…

探索Linux:深入理解各种指令与用法

文章目录 cp指令mv指令cat指令more指令less指令head指令tail指令与时间相关的指令date指令 cal指令find指令grep指令zip/unzip指令总结 上一个Linux文章我们介绍了大部分指令,这节我们将继续介绍Linux的指令和用法。 cp指令 功能:复制文件或者目录 语法…

基于Qt的Model-View显示树形数据

目标 用qt的模型-视图框架实现树型层次节点的显示,从QAbstractItemModel派生自己的模型类MyTreeItemModel,用boost::property_tree::ptree操作树型数据结构,为了演示,此处只实现了个只读的模型 MyTreeItemModel的定义 #pragma o…

张驰咨询:AI与六西格玛——携手共进,非彼此替代

在历史的洪流中,技术与方法的演进如同波澜壮阔的画卷,不断书写着人类文明的篇章。六西格玛,作为一种追求极致品质与效率的方法论,是现代工业文明中的瑰宝。而当我们面对AI(人工智能)这一新时代的产物时&…

[leetcode] 68. 文本左右对齐

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词&#xff…

视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决

目录 一、现象描述 二、视频监控的录像文件计算 (一)计算方法 1、仅视频部分 2、视频和音频部分 3、使用平均码率 (二)计算工具 1、关注威迪斯特公众号 2、打开“计算容量”的小工具 三、原因分析 (一&…

Redis 实战之命令请求的执行过程

命令请求的执行过程 发送命令请求读取命令请求命令执行器(1):查找命令实现命令执行器(2):执行预备操作命令执行器(3):调用命令的实现函数命令执行器(4&#x…

【回溯算法】【Python实现】最大团问题

文章目录 [toc]问题描述回溯算法Python实现时间复杂性 问题描述 给定无向图 G ( V , E ) G (V , E) G(V,E),如果 U ⊆ V U \subseteq V U⊆V,且对任意 u u u, v ∈ U v \in U v∈U有 ( u , v ) ∈ E (u , v) \in E (u,v)∈E,则称…

Navicat导出表结构到Excel或Word

文章目录 sql语句复制到excel复制到Word sql语句 SELECTcols.COLUMN_NAME AS 字段,cols.COLUMN_TYPE AS 数据类型,IF(pks.CONSTRAINT_TYPE PRIMARY KEY, YES, NO) AS 是否为主键,IF(idxs.INDEX_NAME IS NOT NULL, YES, NO) AS 是否为索引,cols.IS_NULLABLE AS 是否为空,cols.…

13.Netty组件EventLoopGroup和EventLoop介绍

EventLoop 是一个单线程的执行器(同时维护了一个Selector),里面有run方法处理Channel上源源不断的io事件。 1.继承java.util.concurrent.ScheduledExecutorService因此包含了线程池中所有的方法。 2.继承netty自己的OrderedEventExecutor …