學生選課系統 —— 作業需求


引言

  親愛的同學們,當你們打開這篇作業的時候,恭喜你們,python的基礎課程你們已經學完一半了。面向對象是大家在學習過程中的一個重要轉折,從這里開始,你們需要切換成另外一種思維來編寫程序,這將非常有利於你們未來開發功能復雜的項目,所以請大家一定要用心來完成這部分的作業。

      從這部分開始,我們的作業說明也變得更加復雜,因為所有的程序開發都是從核心功能出發的,所以我們在開發的時候首先要完成的總是最主要的功能,以后大家還要慢慢學會自己提取“核心的功能”、進行“需求分析”,“程序設計”等工作來保證你們能夠順利成長為一個優秀的程序員。但是由於各位是初學者,所以先由我們來替你們完成這些基礎工作,你們只管寫代碼就好了。

核心功能

功能概述

學生選課

需求分析

  從“學生選課系統” 這幾個字就可以看出來,我們最核心的功能其實只有 選課。

角色

  學生、管理員

功能

  登陸 : 管理員和學生都可以登陸,且登陸之后可以自動區分身份

  選課 : 學生可以自由的為自己選擇課程

  創建用戶 : 選課系統是面向本校學生的,因此所有的用戶都應該由管理員完成

  查看選課情況 :每個學生可以查看自己的選課情況,而管理員應該可以查看所有學生的信息

工作流程

  登陸 :用戶輸入用戶名和密碼

  判斷身份 :在登陸成果的時候應該可以直接判斷出用戶的身份 是學生還是管理員

  學生用戶 :對於學生用戶來說,登陸之后有三個功能

       1、查看所有課程

       2、選擇課程

       3、查看所選課程

       4、退出程序

      管理員用戶:管理員用戶除了可以做一些查看功能之外,還有很多創建工作

       1、創建課程

       2、創建學生學生賬號

       3、查看所有課程

       4、查看所有學生

       5、查看所有學生的選課情況

       6、退出程序

程序設計

對於復雜的功能,我們首先就應該想到面向對象編程。而要想將面向對象的程序開發好,就應該做好類和對象的分析工作。

  選課系統簡單的划分其實只有兩個角色:管理員和學生。

  仔細思考,你會發現有很多想不通的地方,比如學生選課,課從哪里來?

  這樣一想就會發現,其實課程應該可以由管理員創造出來,那么課程又會有很多屬性:價格、周期、課程名、授課老師等等

  那么課程也應該是一個類。
分析過程

綜上,本程序最基礎的分析已經完畢。接下來我們要把所有的類以及其中的屬性、方法設計出來

課程

  屬性:課程名、價格、周期、老師

  *課程並沒有什么動作,所以我們只設計屬性不設計方法。其實這里還可以設計很多屬性,比如課程的開始時間、結束時間、教室等等,只要你需要,這些都可以記錄下來,但是這里我們為了簡化代碼,就先不設計這些了。

學生

  屬性:姓名、所選課程

  方法:查看可選課程、選擇課程、查看所選課程、退出程序  

管理員

  屬性:姓名

  方法:創建課程、創建學生學生賬號、查看所有課程、查看所有學生、查看所有學生的選課情況、退出程序

流程圖

采分點

  1.類的創建和規划 30分

  2.登陸自動識別身份 10分

  3.管理員創建各種信息 20分

  4.學生選課 20分

  5.將內存中的數據保存到文件中 10分

  6.代碼簡潔、調理清晰10分


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM