1. 程式人生 > >Django (九) 項目開發流程&項目架構

Django (九) 項目開發流程&項目架構

base 嚴格 接口設計 組織 項目需求 clas inner pan ...

項目開發流程&項目架構

1. 軟件開發的一般流程

1. 需求分析及確認:
    由需求分析工程師與客戶確認甚至挖掘需求。輸出需求說明文檔。
?
2. 概要設計及詳細設計:
    開發對需求進行概要設計,包括系統的基本處理流程,組織結構、模塊劃分、接口設計、數據庫結構設計等。然後在概要設計的基礎上進行詳細設計。詳細設計中描述實現具體模塊所涉及到的主要算法、數據結構、類的層次結構及調用關系,需要說明軟件系統各個層次中的每一個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。基本達到偽代碼的層面。 (原型圖)
?
3. 編碼:
    根據詳細設計文檔進行編碼。在實際的項目開發中,編碼是占時間最少的。
    
4. 測試:
    一般有專業測試團隊進行測試。

5. 發布或上線:
    提供各種文檔,比如殺毒軟件掃描文檔,安裝手冊,操作指南等一系列文檔資料打包與程序一起發布。當然後續還會有驗收和維護等操作。




 


2. 企業常見開發模式

1.瀑布模型式:
    瀑布模型式是最典型的預見性的方法,嚴格遵循預先計劃的需求分析、設計、編碼、集成、測試、維護的步驟順序進行。瀑布式的主要的問題是它的嚴格分級導致的自由度降低,項目早期即作出承諾導致對後期需求的變化難以調整,代價高昂。瀑布式方法在需求不明並且在項目進行過程中可能變化的情況下基本是不可行的。

2.叠代式開發 (目前公司用的較多的開發模式)
    每次只設計和實現這個產品的一部分;
    逐步逐步完成的方法叫叠代開發;
    每次設計和實現一個階段叫做一個叠代.
    在叠代式開發方法中,整個開發工作被組織為一系列的短小的、
    固定長度(如3周)的小項目,被稱為一系列的叠代。
    每一次叠代都包括了需求分析、設計、實現與測試。

3.敏捷開發 (比較熱門的開發模式)
    和叠代式開發類似,敏捷開發的周期可能更短,並且更加強調隊伍中的高度協作。一個小功能叫做一個story。開發人員要完成stroy文檔的編寫。




 


3, 愛鮮蜂項目架構搭建

? 項目效果: http://60.205.181.47

3.1 項目目錄結構

3.2 創建項目

django-admin startproject AXF

3.3 創建App

單獨打開AXF項目, 選擇運行環境, 並創建App
python manage.py startapp App

3.4 項目配置

打開settings.py進行如下配置
?
1,設置允許主機為所有, ALLOWED_HOSTS = ["*"]
?
2,在INSTALLED_APPS中註冊App 
?
3,  在項目根目錄下創建templates目錄,並在settings.pyTEMPLATESDIRS添加路徑
?
4,  mysql中創建新數據庫axf, 並配置數據庫為mysql, 
?
    DATABASES = {    
        ‘default‘: {        
            ‘ENGINE‘: ‘django.db.backends.mysql‘,       
            ‘NAME‘: ‘axf‘,       
            ‘HOST‘: ‘127.0.0.1‘,        
            ‘PORT‘: ‘3306‘,        
            ‘USER‘: ‘root‘,        
            ‘PASSWORD‘: ‘root‘,    
        }
    }
?
5,  設置語言為中文:
    LANGUAGE_CODE = ‘zh-hans‘
?
6,  設置時區:
    TIME_ZONE = ‘Asia/Shanghai‘
?
7,  配置靜態文件和媒體文件目錄
    7.1 在根目錄下創建static目錄, 並在static目錄中創建uploads目錄
    7.2 setting.py中配置
        STATICFILES_DIRS = [
            os.path.join(BASE_DIR, ‘static‘), 
        ]
        MEDIA_ROOT = os.path.join(BASE_DIR, ‘static/uploads‘)




 


3.5 目錄結構

static目錄
根據項目需求在static目錄中創建以下目錄:
    應用目錄app
    樣式目錄css
    字體目錄fonts
    圖片目錄img
    腳本文件目錄js
    媒體文件目錄uploads
 app目錄下針對每個功能模塊分別創建以下目錄,分別存放每個功能模塊的靜態文件
    首頁home
    閃購market
    購物車cart
    我的mine
templates目錄
根據項目需求在templates中創建以下目錄和文件, 分別存放每個功能模塊的模板
    首頁home
    閃購market
    購物車cart
    我的mine
?
    基礎模板: base.html 
    主體模板: base_main.html

3.6 App配置

在App中創建並配置urls.py文件,並配置好工程urls.py的路由規則

3.7 編寫代碼

此處省略一萬行代碼...

3.8 復制虛擬環境中的包

在舊環境中使用:pip freeze > a.txt
在新環境中使用:pip install -r a.txt

4. Swiper的使用

? Swiper官網地址: http://www.swiper.com.cn/

? http://www.swiper.com.cn/usage/index.html

Django (九) 項目開發流程&項目架構