1.个人简介
博主介绍:
✌我是一位专注于计算机技术领域的程序员,全网拥有30W+粉丝。作为优快云特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。
技术范围:
我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。如果你有任何技术难题,我都乐意与你分享解决方案。
主要内容:
我的服务内容包括:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文撰写与辅导、论文降重、长期答辩答疑辅导。此外,我还提供腾讯会议一对一的专业讲解和模拟答辩演练,帮助你全面掌握答辩技巧与代码逻辑。
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人。
🍅欢迎🍅点赞🍅评论🍅收藏
2.详细视频演示
私我获取详细的演示视频
3. 系统分析
在对一个软件进行设计与开发之前,需要对该系统进行深层次的调查、分析、研究[6]。良好的需求分析不仅能使开发人员快速、准确地理解开发任务,还能提高开发效率,能好地完成工作。对系统进行需求分析是必不可少的,这是软件生存周期上一个很重要的部分,在这个阶段需要确定该系统需要实现什么功能,然后做成一个数据规范、图表清晰的文档,为接下来的系统设计工作提供一定的基础。
3.1.1系统总体分析
本系统采取了一系列的设计原则,主要目的是为了系统的功能设计,还有管理人员在后期对系统维护时的方便,以及使用户能够简易的操作。最重要的设计原则包括:简单性、针对性、实用性、一致性、先进性。
(1)简单性:在该系统中功能模块实现的同时,让用户操作起来简单明了,很快找到所需资源是最直接的目的。
(2)针对性:该系统是根据设计需求为导向来开发医药管理系统的设计,所以针对性较强。
(3)实用性:该设计能够满足医药管理系统的实际的功能需求,能够在实际中让用户真正使用到,具有实际的应用价值。
(4)一致性:网站整体的页面布局,在不同的界面之间,img里的图片的放置位置以及大小都应该有严格的一致性。变量命名规则应该具有统一性。
(5)先进性:本系统采用java作为开发语言、SSM框架、MySQL作为系统数据库,它们被软件设计者们广泛使用。
3.2 可行性分析
可行性分析是每开发一个项目必不可少的一部分,可行性分析可以直接影响一个系统的存活问题,针对开发意义进行分析,还有就是是否可以通过所开发的系统来弥补传统纸质手工统计模式的不足,是否能够更好的解决其中问题等,通过对该医药管理系统的开发设计,不仅能够逐步减少工作人员的工作量,而且还可以进行高效工作和管理[9]。所以该系统的开发实现了最大的意义和价值,在系统完成后,利益是否大过于成本,是否能够达到预期效果,这些方面都要进行可行性分析,再通过分析之后,就可以决定是否开发此系统。该医药管理系统的开发设计中,以下几点进行了可行性分析:经济、技术、运行可行性:通过java的采用,由于该技术不断成熟,所以使用该技术设计医药管理系统是具有可行性的。经济可行性:在开发过程中,系统完成后的利益是否大过于开发成本。操作可行性:医药管理系统的开发设计中,方便用户的可操作性和实用性。
3.2.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。
3.2.2 技术可行性
本系统的开发使用java作为系统开发的开发语言,开发工具选择 Eclipse,而 B/S架构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。
3.2.3 运行可行性
本系统作为以java作为开发技术的系统,而且选用 B/S架构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。
3.3 系统结构和流程设计
开发该系统主要选用了SSM的架构设计,将主要表现层、业务逻辑层和数据访问层分离出来。表现层将请求的回应信息展现在java网页页面上便于客户访问,业务逻辑层负责获得并正确处理请求逻辑,确保SQL语句读取时取得成功或失败,数据访问层关键将数据信息拼写成SQL语句。由于分层次构造开展开发,可以使开发系统软件的耦合性减少,随后重用率提升,只在数据层对数据开展处理就可以了。随后由接口封装对象,业务层完成对系统的逻辑操作,在显示层展现和接受数据信息,用接口完成每个层间的数据信息的传送。实际操作的方法简洁明了,使体系能更快的运作。
操作流程需要进行设计,一个完整的系统可以流畅的操作下来是至关重要的,本系统的完整操作流程如图3-1所示:
图3-1 系统操作流程图
本系统主要有管理员和用户二种角色,进行登录时需要确保输入的内容与已经保存的账号信息一致,通过账户密码等方式来校验用户信息,输入正确则登入系统,输入错误则登入失败。系统登录流程,如图3-2所示:
图3-2系统登录流程图
在添加信息的时候,会判断是哪类用户,并根据用户类型判断执行是否合法,合法者可以进行添加,不合法者则不能进行此操作。管理员登录账号后可以对内容进行添加,拥有着最高的权限,用户权限仅次于管理员。添加信息流程图如图3-3所示:
图3-3 系统添加流程图
删除数据时与添加数据功能类似,删除数据具体流程如图3-4所示:
图3-4系统删除流程图
4.代码实现和数据库核心代码
1.代码实现:
@Entity
@Table(name = "medicines")
public class Medicine {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String dosageForm;
private float price;
private int stock;
// Getters and Setters
}
@Entity
@Table(name = "prescriptions")
public class Prescription {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long medicineId;
private Long userId;
private Date prescriptionDate;
// Getters and Setters
}
@RestController
@RequestMapping("/api/medicines")
public class MedicineController {
@Autowired
private MedicineRepository medicineRepository;
@GetMapping("/list")
public List<Medicine> listMedicines() {
return medicineRepository.findAll();
}
@PostMapping("/add")
public Medicine addMedicine(@RequestBody Medicine medicine) {
return medicineRepository.save(medicine);
}
}
@RestController
@RequestMapping("/api/prescriptions")
public class PrescriptionController {
@Autowired
private PrescriptionRepository prescriptionRepository;
@PostMapping("/create")
public Prescription createPrescription(@RequestBody Prescription prescription) {
return prescriptionRepository.save(prescription);
}
}
@Repository
public interface MedicineRepository extends JpaRepository<Medicine, Long> {}
@Repository
public interface PrescriptionRepository extends JpaRepository<Prescription, Long> {}
2.数据库核心代码
CREATE TABLE medicines (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(200),
dosage_form VARCHAR(100),
price FLOAT,
stock INT
);
CREATE TABLE prescriptions (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
medicine_id BIGINT,
user_id BIGINT,
prescription_date DATE,
FOREIGN KEY (medicine_id) REFERENCES medicines(id)
);
5.详细视频演示
5.1 后台管理员功能模块
管理员登录,通过登录页面输入用户名、密码,进行登录操作,如图5-1所示。
图5-1管理员登录界面图
管理员登录进入医药管理系统可以查看首页、系统管理、用户管理、药品信息管理、药品类型管理、供应商管理、药品出库管理、药品入库管理、问题药品管理、保质期检查管理、账单信息管理、留言板管理、系统管理、订单管理等信息,进行相应操作,如图5-2所示。
图5-2管理员功能界面图
管理员点击用户管理,在用户管理页面的输入账号、姓名、性别、年龄、手机、头像等内容,进行查询、添加或者删除用户信息等操作,如图5-3所示。
图5-3用户管理界面图
管理员点击药品信息管理,在药品信息管理页面的输入药品名称、药品类型、主治功能、供应商、保质期、过期日期、药品图片、单限、库存、价格等内容,进行查询、添加或者删除药品信息等操作,如图5-4所示。
图5-4药品信息管理界面图
管理员点击药品出库管理,在药品出库管理页面的输入药品名称、药品类型、库存、出库时间、备注等内容,进行查询或者删除药品出库等操作,如图5-5所示。
图5-5药品出库管理界面图
管理员点击药品入库管理,在药品入库管理页面的对药品名称、药品类型、库存、入库时间、备注等内容,进行查询或者删除药品入库等操作,如图5-6所示。
图5-6药品入库管理界面图
为什么选择我
博主是一位专注于计算机技术领域的程序员,全网拥有30W+粉丝。作为优快云特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。
源码获取:
点赞🍅收藏🍅关注🍅评论,私我