Django学习笔记(一)
Django背景
2005年发布的django,前身是2003年开始的,一只于Kansas的World online小组在维护一堆报社官网的过程中积累了大量实践后,有意识的整合为快速可定制的CMS系统,2005年从文档到工具链都成熟的时候开始开源发布。
Django的来源决定了它本身就与其他框架不同,这是有先有的实践成功的案例再发布的,这就导致从一开始,它的目的都非常实用务实。
项目流程
1.需求分析
需求分析(包含developer的评审),评审后,将需求转化为系统功能点,评估开发时长,反馈给产品经理/项目经理,设定开发团队ddl,避免无效开发。
理解,各个环节的理解,尤其对需求的理解至关重要,差之毫厘谬以千里。
系统的实现当以满足用户需求为第一要义,无法满足需求的产品也没有开发和维护的必要(现存技术手段允许的前提下)
1.1需求文档
是开发与产品交流的产物。必不可少。中长期项目,文档是必要的,追溯需求,追溯问题。以blog为例:
需求描述:
以此简单的需求描述为例,缺乏细节,仅以此为纲势必会出现与产品的构思不符的东西,从而产生无谓的返工。需求评审和分析是必要的。
1.2需求评审、分析
经验丰富的产品经理来说,做任何需求都需要足够细致,落实到每个功能点,需要原型稿,可通过原型对每一个功能点逐一核对
对技术,评审目的有三:
1.明确所有需求,避免歧义
2.明确技术可行性,避免延期或需求修改
3.确认工期,是否需要分期开发
还是以博客为例。博客需求评审环节如下:
评审过后,所有开发都有必要理解产品经理的需求,需求点的作用及背景,通过消化需求点来开发,而不是单纯的用代码翻译需求文档。
用户需求第一,技术复杂度第二。有了详实的需求列表后,在进行功能分析
功能分析
根据需求列表,推导,博客所需功能点如下:
模块划分
有了足够细致的功能列表,开发应当能确定做出什么样的功能来,但还需要有人来整体梳理,把相关的功整理成一个模块,抽象出实体
这个过程就需要建模,建立系统模型及数据模型。可以用到UML,统一建模语言。常用建模方法,通过UML画例图,整理需求,然后画出序列图,整理系统各模块交互逻辑,最后通过模型来实现。除此以外,针对数据模型部分,需要先画出ER图,entity Relationship Diagram,实体关系图,来理清楚不同数据模型之间的关系。好的ER工具可以直接生成建表语句及模型代码。
产品经理需