热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从零开始一个项目-1.项目规划篇

最近帮助新公司搭建一个数据分析后台,借此机会,把整个项目的点滴记录下来,顺便帮助一些朋友理清一个项目的流程,建立良好的开发习惯,提高效率1.需求整理公司需求只是一个简单的数据分析后

最近帮助新公司搭建一个数据分析后台,借此机会,把整个项目的点滴记录下来,顺便帮助一些朋友理清一个项目的流程,建立良好的开发习惯,提高效率

1.需求整理

公司需求只是一个简单的数据分析后台,只需要表格的展示功能,无需增删改的功能,但是考虑到之后扩展的可能(比如现在就已经增加了GM管理游戏基本数据的功能了…),因此决定写成一个框架,不管是现在公司使用,还是自己接一些项目都是使用到,节省开发成本。

目标:
- 使用到的框架:angularjs、requirejs。
- 页面样式:我直接照抄的阿里云管理后台,如果正式项目肯定会有设计图。
- 项目预期(前端):左边的导航栏以及导航栏对应显示的内容与HTML完全分离,做到如果新增了一个栏目,只需要新建一个data配置,就可以直接渲染出完整的功能,无需二次开发。

2.页面结构图

因为项目不是特别复杂,因此没有使用标准的UML时序图去表示,只是简单的使用了脑图理清思路。

页面结构图

这里的检索表单区域,相当于搜索栏,因为是数据统计后台,每一个栏目可能有很多的筛选项,例如:起始时间、结束时间、渠道等,这里也需要抽象成活的模块,根据配置渲染即可。

3.控制器以及基本类图

控制器以及基本类图

因为使用了angularjs因此这里是直接划分了控制器,以及相关的模块的依赖关系。

  • baseData,相当于一个纯Data的服务,注入到主控制器中,主要存储了网站名称、logo路径、icon信息
  • adminUserData,一个管理员用户信息的服务,ajax服务器,获取对应的基本信息、权限
  • modulesData,总的数据模块类,类中包含了一个全部数据模块的列表,以及注册数据模块到该列表中的方法,此类的作用,主要是用来提供导航栏的渲染、以及一个简单的观察者模式的主类。
  • userData,是一个数据模块的例子,图中列出的是考虑到的可能需要用到的属性。

这是图中各类的说明,实际书写中其实还有新增的结构或删减的结构,但是至少大致的结构是如此,在开始一个项目之前,好好的理一理的项目的逻辑图、画一画类图是很有好处的。

4.项目目录结构

项目目录结构

这里没啥可说的,主要就是controllers里面我还按照之前的页面结构图,划分了子文件夹,然后在具体开发中因为我还加了一个总的顶部导航栏,所以多了一个和main控制器平级的header控制器。

结语:第一篇项目准备就这么多,虽然看起来很麻烦,但是我还是强烈建议大家动手写代码前,多想一想大致的结构怎么样,怎么实现可以抽象、复用,这样真正开始动手的时候才不会手忙脚乱各种复制粘贴,最后整个项目变成一个完全无法维护的项目。
最后项目源码地址:https://github.com/Orz-Li/OrzCMS,欢迎大家fork、clone、提交


推荐阅读
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 利用源链接技术调试ASP.NET Core源代码的方法与实践
    本文详细探讨了通过源链接技术调试ASP.NET Core源代码的实用方法,旨在为开发者提供高效、准确的调试技巧,适用于学习和实际工作中遇到的相关问题。希望读者能从中获得有价值的参考和启发。 ... [详细]
author-avatar
mobiledu2502871653
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有