zoukankan      html  css  js  c++  java
  • 期刊管理系统总结

    期刊管理系统

    想法与设计

    需求分析:掌握软件系统需求分析方法,掌握面向数据流的分析方法。掌握系统功能模型的建立方法,掌握数据模型的建立方法,掌握行为模型的建立方法。

    数据流图(DFD);数据字典;加工说明;E_R图;状态转换图

    总体设计:将数据流图转化成系统的软件结构图;给出模块的主要描述(处理流程和接口描述);数据库数据表结构设计

    详细设计:PAD图以及界面设计

    开发与思考

    为何使用Django?
    • 使用 Django 可扩展的内置模板,可以将模型层、控制层与页面模板完全独立开来进行编码,结构非常清晰。
    • 非常适合初学者学习。
    • 越大型的项目越不会选django,因为它封装得太好,不够灵活,一般快速上马项目可以,但是长期维护下来很难受
    1. 具体表现在可以用更短的代码描述业务逻辑。
    2. 比 jpa 更舒服的 orm 体验和自带 migration
    3. 不需要遵循 java 系列专属的 dto dmo repo 在各种文件之间反复横跳
    4. 发布打包成 wheel 包,线上只需要配置文件和一个 wheel 包
    权限分级?

    超级管理员、管理员、用户进行区别对待。要求他们登录后有不同的方式进行访问图书和资源

    难点与突破

    搜索?参考了下网上开源搜索引擎,但后面抓取什么的没有做,就只做了一个前端出来,后端没有写

    https://www.oschina.net/project/tag/130/search-engine

    复杂查询在orm下难以实现?在复杂查询中混入SQL语句进行直接操作;视图可以解决大部分calculated column,case ,group,having,order by, exists,但是查询条件(a and b and not c and (d or d))力不从心

    前后端分离?后端的路由都加上/api前缀,然后其它的路由都给前端,默认路由转发到前端页面html上,类似于调用API,这样不会有跨域什么问题

    总结

    还是要多做项目,在实践中发现问题,探究问题,思考本质。

  • 相关阅读:
    (easy)LeetCode 223.Rectangle Area
    (easy)LeetCode 205.Reverse Linked List
    (easy)LeetCode 205.Isomorphic Strings (*)
    (easy)LeetCode 204.Count Primes
    (easy)LeetCode 203.Remove Linked List Elements
    (easy)LeetCode 202.Happy Number
    (easy)LeetCode 198.House Robber
    (easy)LeetCode 191.Number of 1 Bits
    试题分析
    使用ADO.NET访问数据库
  • 原文地址:https://www.cnblogs.com/knightoffz/p/14325919.html
Copyright © 2011-2022 走看看