结对第二次作业——编程实现

222100118赵大伟 2024-03-26 18:03:11
这个作业属于哪个课程2302软件工程社区
这个作业要求在哪里结对第二次作业--编程实现
结对学号222100118 222100121
这个作业的目标采用web技术来实现原型中的功能
其他参考文献《构建之法》、vue3文档

目录

  • 1. Gitcode仓库地址和代码规范链接
  • 1.1 Gitcode仓库地址
  • 1.2 代码规范链接
  • 2. PSP表格
  • 3. 成品展示
  • 3.1 网页链接
  • 3.2 网页展示
  • 4. 结对讨论过程描述
  • 5. 设计实现过程
  • 5.1 功能结构图
  • 5.2 设计实现过程
  • 6. 代码说明
  • 7.心路历程和收获
  • 8. 评价结对队友

1. Gitcode仓库地址和代码规范链接

1.1 Gitcode仓库地址

仓库链接

1.2 代码规范链接

地址

2. PSP表格

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3030
• Estimate• 估计这个任务需要多少时间3030
Development开发15201640
• Analysis• 需求分析 (包括学习新技术)500540
• Design Spec• 生成设计文档6040
• Design Review• 设计复审6040
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)2030
• Design• 具体设计80180
• Coding• 具体编码300360
• Code Review• 代码复审6050
• Test• 测试(自我测试,修改代码,提交修改)240300
Reporting报告110105
• Test Repor• 测试报告100120
• Size Measurement• 计算工作量2015
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计17001835

3. 成品展示

3.1 网页链接

世界游泳锦标赛

3.2 网页展示

网页整体采用了绿色和蓝色的配色,网页简约直观

  • 主页导航栏跳转效果

    在这里插入图片描述

    通过点击导航栏来切换到对应的页面

  • 主页轮播图切换效果

    在这里插入图片描述

    主页的轮播图

  • 主页布局展示

    在这里插入图片描述

    主页分为三个部分,分别是轮播图、直击现场和拼搏奋斗

  • 主页跳转展示

    在这里插入图片描述

    在拼搏奋斗部分可以通过点击图片跳转到选手信息、赛程安排和详细赛况页面

  • 选手信息页面布局展示

    在这里插入图片描述

选手信息页面由两部分组成,第一部分展示选手比赛时的照片,通过点击查看详细,可以下滑跳转到第二部分选手排名。

  • 选手排名列表展示

    在这里插入图片描述

    选手排名列表显示各国选手的具体排名和比赛成绩,并支持下滑查看

  • 赛事安排页面布局展示

    在这里插入图片描述

    赛事安排界面也分为两个部分,第一个部分展示选手比赛时照片,第二部分是比赛的具体安排,通过两个下拉选择器,分别选择全部比赛或者决赛,以及具体的比赛日期。

  • 详细赛况布局展示

    在这里插入图片描述

    详细赛况分为三个部分,第一个部分是通过搜索框输入文字搜索比赛,第二个部分展示比赛的热点新闻,第三个比分展示比赛的精彩时刻照片

4. 结对讨论过程描述

在这里插入图片描述


在这里插入图片描述

5. 设计实现过程

5.1 功能结构图

在这里插入图片描述

5.2 设计实现过程

分析作业要求发现后端没有什么必要(第一次作业都已经知道对应数据的api了,再写个后端也是纯粹的再转发一遍),于是打算仅使用前端技术实现,我们使用vue框架完成界面的搭建,网页主体分为三部分,页眉、页面以及页脚,页面间的跳转使用路由跳转到组件,让用户跳转页面时拥有更好的体验。组件库使用Element Plus,配合vue3向用户展现更加丰富的页面。

6. 代码说明

下面是主体部分,虽然简短但非常好的体现了一个页面的架构:

<template>
    <div class="common-layout" >
        <el-container style="background-image: linear-gradient(to bottom right, #34d89f, #209bdd);">
            <el-header style="height: 20px;margin-top: 10px">
                <div style="height: 100vh;overflow: hidden;display: flex">
                    <h1 style="flex: 1;text-align: right;color: dodgerblue;margin-top: 10px" ><el-icon><StarFilled /></el-icon>世界游泳锦标赛<el-icon><StarFilled /></el-icon></h1>
                    <nav style="width: 1100px;z-index: 1;margin-top: 10px;text-align: center">
                        <el-button style="width: 70px" @click="router.push('/')" type="success">首页</el-button>
                        <el-button style="width: 70px" @click="router.push('/about')" type="success">选手信息</el-button>
                        <el-button style="width: 70px" @click="router.push('/course')" type="success">赛程安排</el-button>
                        <el-button style="width: 70px" @click="router.push('/situation')" type="success">详细赛况</el-button>
                    </nav>
                </div>
            </el-header>
            <el-main style="">
                <router-view v-slot="{ Component }">
                    <transition mode="out-in" name="el-fade-in-linear">
                        <component :is="Component" />
                    </transition>
                </router-view>
            </el-main>
            <el-footer style="height: 140px">
                <el-divider>
                    <span style="color: grey;font-size: 0"></span>
                </el-divider>
                <div style="overflow: hidden;display: flex">
                    <div style="flex: 1;text-align: right;color: dodgerblue;margin-top: 0" >
                        <el-text>2024软工5组</el-text><el-icon style="font-size: 50px;text-align: right;margin-top: 20px"><Trophy /></el-icon>
                    </div>
                    <div style="width: 1100px;margin-top: 10px;text-align: center">
                        <el-text style="font-size: 20px">关于我们</el-text>
                        <div>
                            <el-text>222100118,222100121</el-text>
                        </div>
                        <el-text style="font-size: 15px;color: black;text-align: right">隐私政策&nbsp服务条款&nbspCookie设置</el-text>
                    </div>
                </div>
            </el-footer>
        </el-container>
    </div>
</template>

下面是配置的路由部分:

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path:'/',
      name:'home',
      component:()=>import('@/components/home.vue')
    },
    {
      path:'/about',
      name:'about',
      component:()=>import('@/components/about.vue')
    },
    {
      path:'/course',
      name:'course',
      component:()=>import('@/components/course.vue')
    },
    {
      path:'/situation',
      name:'situation',
      component:()=>import('@/components/situation.vue')
    }

  ]
})

剩下的页面部分太过冗长不在此展示了

7.心路历程和收获

本次作业我们更加熟悉了git和gitcode的使用,对于vue3、Element Plus等前端技术也都有了进一步的提高,也对网站部署等运维部分有了初步的了解,对我们将来的就业面有了进一步的扩宽,是一次非凡的体验。

8. 评价结对队友

222100121:
赵大伟同学的学习能力强,效率很高。在本次结对作业中很快地学习完了前端vue教程,并开始高效率地开发,我们配合相当默契,分工明确,完美实现了结对编程的任务,对我来说这是一次很棒的结对体验。

222100118:
洪恒辉同学有极强的组织和学习能力,沟通能力、工作效率极高。在本次结对作业中选择了Vue作为开发框架,并网页总体的设计提供了框架且完成了很多重要部分。与洪恒辉同学的结对过程配合模切,分工明确,有条不紊地完成了任务要求。对我来说,与洪恒辉同学的合作是一次很好的学习之旅。

...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧