A1.3: Basic Application Development (version 2) in Week 7 - 5%
本页目录· 3 条
IntroductionRubric
Score: 90/100
Feedback
在阅读以下反馈之前,请先阅读评分量表(marking rubric)。评分量表包含了我们想提到的大部分反馈。以下部分反馈属于建议性质,这些建议不会影响你的分数,但有助于你在求职时更具竞争力。
另外,请注意,我们尽力给出与你项目不直接相关的各种示例,帮助你从不同视角更好地理解问题。
- 你已经实现了身份认证(authentication)。
- 你已经实现了基于角色的访问控制(role-based authentication/authorization)。
-+- 建议:当用户手动输入 URL 并访问其不应访问的内容时,最好提供一个错误页,以便用户能够从失败中恢复。
- 你实现了带有良好历史记录的评分(rating),这符合数据完整性(data integrity)的概念。
-+- 建议:请保留评分的历史记录,不要只保存一个计算后的汇总值。否则会违反你在 FIT9132 中学习到的数据完整性概念,并且你将无法回溯评分过程。请确保在演示(demo)中指出这一点。
- 站点的安全性未来还可以进一步增强:
-+- 提示:如果将来使用在线数据库,请让代码更健壮,例如使用参数化(parameterization)来获取数据,避免 SQL 注入。 -+- 提示:避免在代码注释中出现敏感信息。 -+- 提示:对密码进行加盐哈希(hash with salting)。 -+- 提示:加盐哈希之后,只将哈希值存入本地存储/数据库。
- 总体而言,这是一个非常优秀的项目。你已经在思考如何改进整体设计,使其不再像教程练习那样单一。
以下是一些通用性的参考信息,供你进一步提升:
- 你可以关注的方向包括:整体主题色、导航的布局,避免双重导航;尝试拥有品牌元素(如 logo 和网站名);确保项目功能与所做主题的契合;以及创用 CC 图片的使用。(你可以在 PowerPoint 中找到免费图片:插入 → 在线图片,或 插入 → 库存图片。)
- 你还可以参考不同的设计原则来辅助设计,例如 Don Norman 的“黄金法则”、**启发式评估(Heuristic Evaluation)**等。启发式评估通常会对同一个 UI 元素应用多条规则。
Grade breakdown
| 等级要求(必须在所有前一等级都达到“超出预期”后才能进入下一级) | 评估标准 | 超出预期 (Exceeds Expectations) | 达到预期 (Meets Expectations) | 需要改进 (Needs Improvement) | 未达预期 (Fail to Meet Expectations) |
|---|---|---|---|---|---|
| C - C++ | BR (C.1): 身份验证 (Authentication) | Web 应用实现了基本的身份验证机制,包括登录和注册功能,支持多个用户并使用底层数据结构。用户账户得到妥善管理,应用能提供流畅且安全的用户体验。 | Web 应用尝试实现基本的身份验证机制(如硬编码值),但实现中存在一些小问题,或者在安全体验上有所欠缺。 | - | Web 应用没有任何身份验证机制。 |
| BR (C.2): 基于角色的身份验证 (Role-based Authentication) | Web 应用实现了完善的基于角色的身份验证机制,至少支持两个不同的用户角色,具有合适的授权级别和页面访问控制。实现设计良好,提升了整体安全性和用户体验。 | - | Web 应用只实现了基本的基于角色的身份验证机制(如只有一个角色,没有访问控制),实现中存在一些小问题,或者在安全性和清晰度上有所欠缺。 | Web 应用没有任何基于角色的身份验证机制。 | |
| BR (C.3): 评分功能 (Rating) | Web 应用实现了健全直观的评分功能,允许用户对特定方面进行评分并查看汇总分数(如评论评分)。实现设计良好,能为用户提供清晰反馈,并提升整体用户体验。 | Web 应用实现了基础评分功能(如只显示文字评分、不做汇总计算),但实现中存在一些小问题,或者在用户体验上有所欠缺。 | Web 应用缺少评分功能,或评分功能实现存在严重问题,影响整体用户体验。 | Web 应用没有任何评分系统。 | |
| BR (C.4): 安全性 (Security) | Web 应用实现了完善的安全措施,包括防御 XSS 攻击和遵循最佳实践(如不在前端代码中存储 API key,前后端都进行数据校验)。安全实现设计良好,增强了整体应用安全性。 | Web 应用实现了一些基础的安全措施(如 XSS 防护),但实现中存在一些小问题,或者在安全体验上有所欠缺。 | Web 应用缺少或在安全措施实现上存在严重问题,影响整体应用安全性和用户体验。 | Web 应用没有任何安全措施。 |