親愛的同窗們,當大家打開這篇做業的時候,恭喜大家,python的基礎課程大家已經學完一半了。面向對象是你們在學習過程當中的一個重要轉折,從這裏開始,大家須要切換成另一種思惟來編寫程序,這將很是有利於大家將來開發功能複雜的項目,因此請你們必定要用心來完成這部分的做業。html
從這部分開始,咱們的做業說明也變得更加複雜,由於全部的程序開發都是從核心功能出發的,因此咱們在開發的時候首先要完成的老是最主要的功能,之後你們還要慢慢學會本身提取「核心的功能」、進行「需求分析」,「程序設計」等工做來保證大家可以順利成長爲一個優秀的程序員。可是因爲各位是初學者,因此先由咱們來替大家完成這些基礎工做,大家只管寫代碼就行了。python
學生選課程序員
從「學生選課系統」 這幾個字就能夠看出來,咱們最核心的功能其實只有 選課。編程
學生、管理員ide
登錄 : 管理員和學生均可以登錄,且登錄以後能夠自動區分身份學習
選課 : 學生能夠自由的爲本身選擇課程spa
建立用戶 : 選課系統是面向本校學生的,所以全部的用戶都應該由管理員完成設計
查看選課狀況 :每一個學生能夠查看本身的選課狀況,而管理員應該能夠查看全部學生的信息code
登錄 :用戶輸入用戶名和密碼htm
判斷身份 :在登錄成果的時候應該能夠直接判斷出用戶的身份 是學生仍是管理員
學生用戶 :對於學生用戶來講,登錄以後有三個功能
一、查看全部課程
二、選擇課程
三、查看所選課程
四、退出程序
管理員用戶:管理員用戶除了能夠作一些查看功能以外,還有不少建立工做
一、建立課程
二、建立學生學生帳號
三、查看全部課程
四、查看全部學生
五、查看全部學生的選課狀況
六、退出程序
對於複雜的功能,咱們首先就應該想到面向對象編程。而要想將面向對象的程序開發好,就應該作好類和對象的分析工做。
選課系統簡單的劃分其實只有兩個角色:管理員和學生。 仔細思考,你會發現有不少想不通的地方,好比學生選課,課從哪裏來? 這樣一想就會發現,其實課程應該能夠由管理員創造出來,那麼課程又會有不少屬性:價格、週期、課程名、授課老師等等 那麼課程也應該是一個類。
綜上,本程序最基礎的分析已經完畢。接下來咱們要把全部的類以及其中的屬性、方法設計出來
屬性:課程名、價格、週期、老師
*課程並無什麼動做,因此咱們只設計屬性不設計方法。其實這裏還能夠設計不少屬性,好比課程的開始時間、結束時間、教室等等,只要你須要,這些均可以記錄下來,可是這裏咱們爲了簡化代碼,就先不設計這些了。
屬性:姓名、所選課程
方法:查看可選課程、選擇課程、查看所選課程、退出程序
屬性:姓名
方法:建立課程、建立學生學生帳號、查看全部課程、查看全部學生、查看全部學生的選課狀況、退出程序
1.類的建立和規劃 30分
2.登錄自動識別身份 10分
3.管理員建立各類信息 20分
4.學生選課 20分
5.將內存中的數據保存到文件中 10分
6.代碼簡潔、調理清晰10分