Upload
acksinkwung
View
218
Download
0
Embed Size (px)
Citation preview
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 1/16
線上解題系統( ACM Online Judge )
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 2/16
IntroductionExisting SystemsOur Advantage
Project ArchitectureTeam MemberProject OrganizationRisk AnalysisHardware ResourcesSoftware RequirementWork BreakdownProject ScheduleReporting and Monitoring Mechanism
Q&A
Outline
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 3/16
Introduction
線上解題系統是一個可以提供學生上傳程式
碼,自動編譯,且執行程式並確認該程式之
正確性的系統。
本系統可以提供系上或校內之初階程式撰寫
課程應用於作業批改與期中期末上機考。
1
2
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 4/16
Existing Systems
ZeroJudge(http://zerojudge.tw/)
Valladolid Online Judge(http://online-judge.uva.es/)
NTU Online Judge
(http://acm.csie.ntu.edu.tw/)
PKU Online Judge
(http://poj.org/)
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 5/16
Our Advantage
Security
Highly Distributed
Security is ensured through modifying the Linux kernel to block allsystem calls except read() and write(), therefore ensuring that the
program being judged does not escape the jail.
Our system can take higher load by distributing the judging task to
multiple nodes. Nodes can be added and removed easily, without
reconfiguration, just like in Cloud Computing.
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 6/16
Project Architecture
User Web Server(w/ Apache)
Source
Judge Backend
Judge Engines
ComputationalCluster
...
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 7/16
Team Member
專案 葉心寬
徐若剛
陳立中Project ManagerProgrammer
ProgrammerTester
Designer
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 8/16
Project Organization工作 \ 組員 陳立中 葉心寬 徐若剛
System Architecture Design √ √ √
Web Interface Programmer √
Backend Programmer√ √
User Interface Designer √
Development Tool Hoster √
Quality Assurance Tester √
Resource Manager √Server Administrator √ √
Document Writer √
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 9/16
Risk Analysis檢驗項目 風險和問題點 機率 /程度 對策
Technology
修改核心 達不到關鍵技術 高 / 嚴重 使用Source Analysis代替
節點連接 資料無法正確傳送 高 / 嚴重 使用 RPC技術代替
版本控制 修改新功能到舊的版本 高 / 嚴重 利用SVN 進行版本控制
People
溝通 想法不同,溝通不良 高 / 嚴重盡可能用UML 或圖例的方式
進行溝通環境因素 面臨考試等壓力 高 / 嚴重
每個人要規劃評估能力所及 的時間,盡早進行調整
Organizational
團隊對於專題
的看法
有人只是以作業的心態
看待,導致專案做不好 低 / 可接受
讓團隊們以這個軟體專案為
榮,很有成就感
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 10/16
Risk Analysis
檢驗項目 風險和問題點 機率 /程度 對策
Tools
CASE 工具 不能進行整合 中 / 嚴重每一階段都先進行整合,不
要到最後才進合Bug 記錄工具
沒記錄,錯誤的影響
,很難進行修改高 / 可接受 應用工具管理Bug 修改記錄
Requirements
測試電腦數量 不足夠 高 / 嚴重 找老師及同學的幫忙
系統操作介面 使用者不滿意 高 / 嚴重 時常找使用者進行測試詢問 意見,立即進行改善
系統的文件 缺少適當的文件記錄 中 / 可接受在規劃設計時,想清楚有哪些必需文件要記錄
Estimation
開發的時間 低估 高 / 嚴重 悲觀保守估計開發的時間
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 11/16
Cluster of x86/x86-64 general purpose desktop computer.
Minimum of 1 computer is required for operation,
2 computers are required for testing
256MB of RAM per node required
1000 MIPS of computation per node required
5 GiB of disk storage per node required
Preferably multicore
Hardware Resources
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 12/16
All nodes are Linux based.
Root access required
Boot table access privilege required( Essential to loading modified kernel )
Apache for Web Server
PHP5/MySQL5 for Web Interface
ISO C++ ( using g++ ) with POSIX Threading andBerkeley Socket for backend.
Software Requirement
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 13/16
Work Breakdown
Task Efforts(person-weeks)
Duration(weeks)
Dependencies
T1: RequirementDefinition
3 1
T2: System andSoftware Design 3 1 (M1) T1
T3: Web ModuleCoding and Testing
4 2 (M2) T2
T4: Backend Module
Coding and Testing
3 2 (M2) T2
T5: System Integra-tion and Testing
4 2 (M3) T3, T4
T6: Operation andMaintenance
N/A N/A T5
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 14/16
Project Schedule
Project duration : 6 weeks
Using waterfall model
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 15/16
Reporting and Monitoring Mechanism
Management report will be delivered on every milestone
Internal development tools, such as subversion, will beused to monitor project's development status
Regular group meeting will be hold to ensure we are on
progress
1
2
3
4Project schedule will be keyed into group member'scalender system if available.
8/8/2019 Se Proposal
http://slidepdf.com/reader/full/se-proposal 16/16
Thank you !