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

222200119 陈为杰 2024-09-30 23:12:12
这个作业属于哪个课程FZU_SE_teacherW_4
这个作业要求在哪里结对第二次作业——编程实现
结对学号222200117&222200119
这个作业的目标学习Web技术,根据原型设计编程实现网页,华为云部署服务器
其他参考文献《构建之法》

目录

  • 1. git仓库链接和代码规范链接
  • 1.1 git仓库链接
  • 1.2 代码规范链接
  • 2. PSP表格
  • 3. 项目部署链接
  • 4. 成品展示
  • 5. 代码说明
  • 6. 设计实现过程
  • 6.1 功能结构图
  • 6.2 设计思路
  • 6.2 遇到的问题和解决方案
  • 7. 结对讨论过程描述
  • 7.1 线下讨论过程描述
  • 7.2 线上讨论过程描述
  • 8. 心路历程和收获
  • 8.1 心路历程
  • 8.2 收获
  • 9. 评价结对队友

1. git仓库链接和代码规范链接

1.1 git仓库链接

https://devcloud.cn-north-4.huaweicloud.com/codehub/project/b0e3190178c74c87a1116483a24f7b9c/codehub/2709434/home?ref=master

1.2 代码规范链接

https://devcloud.cn-north-4.huaweicloud.com/codehub/project/b0e3190178c74c87a1116483a24f7b9c/codehub/2709434/home?ref=master&filePath=codestyle.md&isFile=true

2. PSP表格

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

3. 项目部署链接

http://123.249.84.228/

4. 成品展示

成品总体展示:

首页

了解巴黎

奖牌榜

img

对阵表

每日赛程

关于中国

交互式设计

5. 代码说明

交互按钮

img


img

抽屉式菜单

img


img


img


img

轮播图交互

img


img


img


img

页脚板块按钮

img


img


img


img


img

6. 设计实现过程

6.1 功能结构图

img

6.2 设计思路

需求分析
奖牌榜排名:显示国家、金牌数、银牌数、铜牌数和总数。
每日赛程:动态表格或列表,包含比赛类型、时间、项目、参赛国家和比分,获胜国家需要突出显示。
足球比赛详细赛况:详细的比赛成绩页面,展示比赛双方、球员名单、比赛统计和重要事件。
足球比赛对阵图:图形化展示淘汰赛的进程,包括各轮比赛的对阵情况和结果。
其他内容:包括对巴黎和中国代表团的介绍,以及相关外部链接。

内容架构
HTML结构:使用header、nav、section、article、footer等语义化标签构建页面结构。
导航菜单:使用ul和li标签创建水平或垂直导航菜单,利用CSS样式进行美化。
轮播图:使用div容器包含图片和控制按钮,通过JavaScript控制图片切换。

交互设计
菜单跳转:使用JavaScript监听点击事件,实现页面内导航和内容切换。
日期切换:设计日期选择器,通过JavaScript更新赛程表格内容。
赛事详情查看:为每个赛事设置点击事件,弹出或跳转到详细赛事页面。

视觉设计
布局:设计一个清晰、现代的布局,使用Grid或Flexbox进行布局设置。
颜色方案:选择符合奥运主题的颜色方案,确保足够的对比度和视觉吸引力。
字体选择:选择易读性强、风格一致的字体,考虑使用Web字体以保证跨平台一致性。

前端开发
HTML:编写符合W3C标准的HTML代码,确保语义化标签的正确使用。
CSS:利用预处理器编写模块化的CSS,使用变量和混合宏提高效率。
JavaScript:采用ES6+语法,使用模块化或面向对象的方法组织代码。

测试和优化
跨浏览器测试:在Chrome、Firefox、Safari和Edge等浏览器上测试功能和布局。
性能优化:使用工具如Google PageSpeed Insights评估并优化网页加载速度。
代码优化:使用代码压缩工具减少文件大小。

6.2 遇到的问题和解决方案

布局问题
具体问题:在移动设备上导航菜单显示不正确,或者某些内容溢出屏幕。
具体解决:通过媒体查询针对不同尺寸屏幕优化布局,使用可折叠的菜单替代传统导航栏。

交互功能实现问题
具体问题:在老旧浏览器上某些JavaScript特性不被支持,导致功能失效。
具体解决:使用Babel转译器将ES6+代码转换为广泛支持的ES5代码。

性能优化问题
具体问题:网页首次加载时间过长,用户等待时间过长。
具体解决:使用懒加载技术对非关键资源进行延迟加载;利用CDN分发静态资源;启用HTTP/2以减少连接延迟。

用户体验问题
具体问题:用户反馈找不到某项功能,或者操作流程不够直观。
具体解决:增加用户引导,工具提示,根据用户行为数据优化界面设计。

7. 结对讨论过程描述

7.1 线下讨论过程描述

初步会议与任务分配
在拿到题目后,我和我的队友立即安排了一次线下会议来讨论项目的细节。在会议上,我们首先对项目需求进行了梳理和确认,确保每个人都对项目的目标有清晰的认识。
1、奖牌榜排名:使用官网爬出来的数据进行数据支撑,实现奖牌榜的排名功能。
2、每日赛程:使用JavaScript的Date对象来处理日期切换的功能,并考虑使用模板引擎来渲染赛程数据。
3、足球比赛详细赛况:使用模态窗口来展示详细赛况,以便不离开当前页面即可查看。
4、足球比赛对阵图:使用表格来绘制对阵图,并通过事件监听来实现交互效果。
5、其他内容:我们决定将这部分内容作为增值服务,通过丰富的多媒体内容来提升用户体验。
在分配任务时,我们决定按照各自的技能和兴趣进行分工。我负责主体框架的搭建、奖牌榜的实现和交互设计,而邱则负责足球比赛详细赛况的页面、对阵图的实现和负责每日赛程的功能

问题解决与资料查找
在开发过程中,我们遇到了一些技术难题,比如如何实现响应式布局、如何保证跨浏览器的兼容性等。
1、响应式布局:使用Bootstrap框架来快速实现响应式布局,并通过在线教程和官方文档来学习使用方法。
2、跨浏览器兼容性:邱查找了相关的Polyfill库,并通过测试发现了一些问题,然后通过查询Stack Overflow上的解决方案来修复这些问题。
在解决问题的过程中,我们通过定期的线下会议来更新进度,讨论遇到的问题,并共享彼此找到的资源和解决方案。通过这种协作方式,我们能够有效地推进项目进度。

交互与测试
为了确保网页的用户体验,我们决定进行用户测试。我负责设计测试用例,并邀请了一些非技术背景的朋友来测试网页的各项功能。
1、用户反馈:通过用户的反馈,我们发现了一些用户界面的不足,比如导航菜单在手机上的显示问题,以及一些不够直观的按钮设计。
2、迭代改进:根据反馈,我调整了导航菜单的样式,并增加了一些指示性的图标。邱优化了对阵图的交互逻辑,使其更加易用。

7.2 线上讨论过程描述

线上我们仅作文件数据的传输,其它均在线下进行讨论

img


img


img


img

8. 心路历程和收获

8.1 心路历程

初始阶段的挑战与兴奋
在项目开始时,面对如此庞大和复杂的任务,我们感到既兴奋又有些紧张。兴奋的是能够在实际项目中运用我们所学的前端开发知识,紧张的是担心是否能够达到预期的效果。与队友邱的第一次讨论让我意识到,我们需要将项目细分成更小的任务,并且明确每个人的责任和期限。

中期的困难与突破
随着项目的深入,我们遇到了许多技术挑战,从响应式布局的实现到交互式按钮兼容的问题。每一个问题都要求我们不断查阅资料、学习新工具和技术。在这个过程中,我学会了如何更有效地自学,也体会到了团队合作的力量。每当我们解决一个问题时,我都感到一种成就感和团队协作的喜悦。

后期的调整与完善
用户测试环节是一个新的挑战,面对用户的直接反馈,我们不得不重新考虑我们的设计决策。这个阶段让我意识到,技术实现只是手段,最终的目标是为用户提供便捷和愉悦的体验。通过不断的迭代和改进,我们的网页变得更加友好和易用。

8.2 收获

技术层面
前端开发技能:通过实践,我对HTML、CSS和JavaScript有了更深的理解,尤其是响应式设计和交互式按钮兼容的知识。
新工具的掌握:我学会了使用Bootstrap、Vue.js等工具,这些都是我在实际开发中的宝贵财富。
性能优化:我学习了如何对网页进行性能优化,包括加载速度的提升和跨浏览器兼容性的处理。

团队合作
沟通与协作:我学会了如何更有效地与队友沟通,如何分配任务,以及如何共同解决问题。
项目管理:我了解了如何规划项目,设置里程碑,并按时完成任务。

用户体验
设计思维:我开始从用户的角度思考问题,学会了如何通过用户测试来发现并解决设计上的问题。

个人成长
解决问题的能力:在面对技术难题时,我学会了如何保持冷静,如何查找资源,并且坚持到底。
自我驱动:在项目过程中,我发现了自己对前端开发的热情,并且在追求解决方案的过程中不断自我激励。

9. 评价结对队友

222200117邱昭焱:陈在这个项目中扮演了重要角色,他不仅负责了首页、奖牌榜的页面实现,还巧妙地完成了菜单等交互式按钮的设计。他对设计的热情和对用户体验的深刻理解让我们的网页在视觉和功能上都大大提升。陈在项目中表现出的创造力和对美感的追求给团队带来了许多新鲜的想法。此外,他在团队协作中表现出的耐心和支持性让我们的沟通和合作变得十分顺畅。我对陈的工作和态度十分赞赏,并希望将来能继续与他合作。

222200119陈为杰:邱在整个项目过程中展现了出色的技术洞察力和问题解决能力。他对每日赛程功能的设计和实现贡献巨大,特别是在处理日期切换和赛程动态渲染方面,他展现了良好的JavaScript编程技能。在遇到技术难题时,邱总是能够迅速地找到解决方案,并乐于分享给团队,帮助我们一起克服障碍。他的积极态度和对技术细节的严谨追求对整个项目的成功起到了关键作用。我非常感激邱的贡献,并期待未来有机会再次与他合作。

...全文
126 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
AJAX——新手快车道 前言 AJAX是什么? 首先、AJAX是一种很酷的技术,一旦采用了AJAX,就能让你的Web页面, 你的网站,甚至连同你们公司,都变得很酷。在Web2.0的时代里,不使用一点 AJAX技术的网站,就会显得很老土,很落伍。 但是,这样的理解,其实是很肤浅的。仅仅是从一个外行,从一个使用者的 角度出发,来理解AJAX,就像我在本书的第一章AJAX我也行中那样,开发 出很愚蠢,甚至都没有资格被称之为AJAX应用的纯IE、XMLHTTP应用。 AJAX更酷的一点在于,对于传统的Web开发人员来说,AJAX所运用的, 是更加先进的,更加标准化的,更加和谐高效的,完整的Web开发技术体系。 遵循这样的体系开发Web应用,能让你的开发过程变得更加轻松,也能使你们 的开发团队,显得很酷。在Web2.0 的时代里,还在采用过时的技术来开发 Web,会显得很老土,很落伍。 AJAX的相关组成技术,每一个都已经出现了N年以上了,对这些技术的 组合运用,也远远早于AJAX这个名词出现之前。所以,我真正敬佩的,并非提 出 AJAX这个缩写的Jesse James Garrett。而是那些早在N年以前,就已经在探索、 实践的先行者,他们始终在追求的:是更好的用户体验,以及更好的开发体验。 这样的精神,才是最可宝贵的,也是最值得我们学习的。许多年过去以后,当我 们再回头来看当年的这些热门技术,也许早已经变得老土,变得落伍了。在这样 的历程中,哪些人会成长为高手?会成长为大师呢?就是那些永不满足,永远 在追求更好的用户体验,永远在追求更好的开发体验的人! 新手如何上路 软件开发这个领域,永远都在飞速发展,大家都必须不断的学习新的知识、 技能、框架、IDE、甚至新的语言。传说中的骨灰级高手们,就像传说中的大侠, 任何武器、哪怕是一块木头到了他们手里,也能发挥惊人的威力,人家练了几十 年的看家本领,他们随手使来,也竟然像是打娘胎里就开始练了一样。为什么? 就算不吹那么玄的,平常我们能够碰到的那些老手,在学新东西的时候, 也比那些新手学得更快,理解得更深,运用得更熟练。而新手们呢?往往就会漫 无头绪,焦头烂额,以一副张着茫然的大眼睛的经典表情,出现在各大论坛的 新手求助区里。他们欠缺的,究竟是什么呢?为什么老手学新东西,就没遇到那 么多困难呢? 泛泛地说,自然是经验上的欠缺。仔细地说来,又可以分为三个方面: 一、本质,一种技术与另一种技术之间,往往会有本质上的相通之处,当你 对一种技术的理解与思考越来越深入时,学习一种新技术也会更加容易。触类旁 通,举一反三的能力,就是来自于对于技术本质的追寻。 二、地图,本质上或多或少的相通,也提示着我们技术之间的相互关联,当 你了解的技术越多,了解得越是深入,在你的内心,就能建立起越发清晰的技 术地图。各种知识都有一个自然、合理的位置。那么当一个老手要学习一门新技术 的时候,他其实并非在探索一个全新的、未知的领域,而是有很多脉络可寻,也 很多已知可以帮助他们快速了解未知。 三、技巧,面对同样的未知,面对同样的难题,新手们一筹莫展,而老手们 却掌握着更多的技巧和手段,帮助他们试探可能性、缩小问题的范围、迅速定位 问题、不犯明显愚蠢的错误、甚至能够列举出更具命中力的搜索关键词,而这些 技巧,都帮助老手在前进的道路上,更少跌倒,即使跌倒,也能更快的爬起来。 作为一本写给新手的入门书籍,我们希望展现给读者的,是一个老手如何 学习新技术的过程。我们相信,这样的一个学习过程,对于新手来说,是更具有 价值的。 何谓快车道 必须老老实实的承认,我吹牛了!老手虽然会比新手学习得更快一些,但 是也同样会碰到麻烦,遇到障碍,感觉头痛。如果没有真正的专家的指导,我不 可能如此迅速地将AJAX掌握到目前这样的程度,要真是让我自学三个月,然 后就写出书来的话,那真是在骗钱了。 老手能够快速学习的另一个重要的诀窍是:认识很多牛人朋友 如果没有李锟与赵泽欣的专家级指导与帮助,如果没有与李锟AJAX结对 编程的体验,如果没有三个人在MSN上无数次的长聊,我想要在短期内建立起: 对于AJAX本质的理解; 对于整个AJAX以及相关技术地图的理解; 对于AJAX编程开发所需要的很多技巧、手段的掌握; 几乎是不可能的。 如果没有(N多需要感谢的人)的(N多方面的帮助),我们这本书,也 不可能以现在这样的深度,以(N个月)内完成的速度,送到读者的面前。 希望这本书,能够对大家快速学习AJAX,有所帮助。

110

社区成员

发帖
与我相关
我的任务
社区管理员
  • FZU_SE_teacherW
  • 助教赖晋松
  • D's Honey
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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