第二次結對編程做業

連接

張雨同窗博客連接

宋娟同窗博客連接

GitHub倉庫連接1

GitHub倉庫連接2

具體分工

剛開始咱們很是迷茫,因此咱們沒有很是明確的分工,你們一塊兒討論,作難受了就對換看看……
說實話這樣效率不高,可是有人在旁邊一塊兒的感受和一我的學習是不同的html

PSP表格


PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 60 80
Estimate 估計這個任務須要多少時間 5 5
Development 開發 1000 1100
Analysis 需求分析 (包括學習新技術) 500 550
Design Spec 生成設計文檔 20 30
Design Review 設計複審 15 15
Coding Standard 代碼規範 (爲目前的開發制定合適的規範) 20 15
Design 具體設計 300 350
Coding 具體編碼 600 800
Code Review 代碼複審 120 180
Test 測試(自我測試,修改代碼,提交修改) 180 120
Reporting 報告 30 30
Test Repor 測試報告 100 30
Size Measurement 計算工做量 5 5
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 60 30
合計 2950 3255

解題思路描述與設計實現說明

網絡接口的使用

主要是參考python中requests庫的post請求

例如調用登陸的接口:前端

conn = http.client.HTTPSConnection("api.shisanshui.rtxux.xyz")
payload = json1_idmm
headers = {'content-type': "application/json"}
conn.request("POST", "/auth/login", payload, headers)
res = conn.getresponse()
data = res.read()

代碼組織與內部實現設計

算法的關鍵與關鍵實現部分流程圖

##登陸
class logindialog(QDialog):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle('登陸界面')
        self.resize(200, 150)
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)

        ###### 設置界面控件
        self.frame = QFrame(self)
        self.verticalLayout = QVBoxLayout(self.frame)

        self.lineEdit_account = QLineEdit()
        self.lineEdit_account.setPlaceholderText("請輸入帳號")
        self.verticalLayout.addWidget(self.lineEdit_account)

        self.lineEdit_password = QLineEdit()
        self.lineEdit_password.setPlaceholderText("請輸入密碼")
        self.verticalLayout.addWidget(self.lineEdit_password)

        self.pushButton_enter = QPushButton()
        self.pushButton_enter.setText("肯定")
        self.verticalLayout.addWidget(self.pushButton_enter)

        self.pushButton_quit = QPushButton()
        self.pushButton_quit.setText("取消")
        self.verticalLayout.addWidget(self.pushButton_quit)

        ###### 綁定按鈕事件
        self.pushButton_enter.clicked.connect(self.on_pushButton_enter_clicked)
        self.pushButton_quit.clicked.connect(self.accept)


    def on_pushButton_enter_clicked(self):
        yhid = self.lineEdit_account.text()
        yhmm = self.lineEdit_password.text()
        print('123456')
        if yhid and yhmm:
            data1 = {'username': yhid, 'password': yhmm}
            json1_idmm = json.dumps(data1)
            conn = http.client.HTTPSConnection("api.shisanshui.rtxux.xyz")
            payload = json1_idmm
            headers = {'content-type': "application/json"}
            conn.request("POST", "/auth/login", payload, headers)
            res = conn.getresponse()
            data = res.read()
            global text
            text = json.loads(data.decode("utf-8"))
            print(text)
            print(text['status'])
            if text["status"]==0:
                self.accept()
                myksjm.show()
            elif text["status"]==1001:
                print('!用戶名已被使用!')
            elif text["status"] == 1002:
                print('!學號已綁定!')
            elif text["status"]==1003:
                print('!教務處認證失敗!')
            else:
                print('!w沒法登陸!')
                return 0

        else:  # id密碼沒有輸入完整沒法登陸!
            print('!沒法登陸!')
            self.accept()
            return 0

Github的代碼簽入記錄

遇到的代碼模塊異常或結對困難及解決方法

  • 問題描述

    一、對前端開發幾乎是一無所知
    二、不知道如何調用技術助教給的接口,後來看到如何完成python中requests庫的post請求的教程,再加上大佬的指導一步一步完成
  • 作過的嘗試

    請教大佬,而後聽大佬說PyQt5比較好作ui,就經過看b站上面的PyQt5實戰速成視頻,來完成一些,而後實操中遇到問題就看CSDN上的大佬解答的
  • 是否解決

    基本解決
  • 有何收穫

    軟工實踐真的是一門十分考驗學習能力的科目,遇到困難的時候瘋狂百度,瘋狂問大佬,瘋狂看教程,基本學會了PyQt5和pyinstaller的使用,以及對接口的請求和調用也多了一層理解

評價個人隊友

  • 值得學習的地方:我隊友作事特別認真,並且學習能力也很強,初次接觸PyQt能作到這樣,很棒
  • 須要改進的地方:哈哈哈可能下次應該早點開始作,就不用後面幾天這樣趕了,國慶有點快樂

學習進度條

第N周 新增代碼(行) 累積代碼(行) 本週學習耗時(小時) 累積學習耗時(小時) 重要成長
1 0 0 10 10 第一次認識了Axure RP,並學習使用
2 200+ 200+ 8 18 討論並分工,開始思考算法思路和實現方法
3 300+ 500+ 20 38 學習了PyQt5的使用,對UI的設計和實現有了更深的瞭解
4 100+ 600+ 40 78 學習瞭如何用pyinstaller進行打包,並對代碼進行改進

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息