16
 線上解題系統 ( ACM Online Judge )

Se Proposal

Embed Size (px)

Citation preview

Page 1: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 1/16

 

線上解題系統( ACM Online Judge )

Page 2: Se Proposal

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

Page 3: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 3/16

 

Introduction

線上解題系統是一個可以提供學生上傳程式

碼,自動編譯,且執行程式並確認該程式之

正確性的系統。

本系統可以提供系上或校內之初階程式撰寫

課程應用於作業批改與期中期末上機考。

1

2

Page 4: Se Proposal

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/)

Page 5: Se Proposal

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.

Page 6: Se Proposal

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

...

Page 7: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 7/16

 

Team Member

專案 葉心寬

徐若剛

陳立中Project ManagerProgrammer

ProgrammerTester

Designer

Page 8: Se Proposal

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 √

Page 9: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 9/16

 

Risk Analysis檢驗項目 風險和問題點 機率 /程度 對策

Technology

修改核心 達不到關鍵技術 高 / 嚴重 使用Source Analysis代替

節點連接 資料無法正確傳送 高 / 嚴重 使用 RPC技術代替

版本控制 修改新功能到舊的版本 高 / 嚴重 利用SVN 進行版本控制

People

溝通 想法不同,溝通不良 高 / 嚴重盡可能用UML 或圖例的方式

 進行溝通環境因素 面臨考試等壓力 高 / 嚴重

每個人要規劃評估能力所及  的時間,盡早進行調整

Organizational

團隊對於專題

的看法

有人只是以作業的心態

看待,導致專案做不好 低 / 可接受

讓團隊們以這個軟體專案為

榮,很有成就感

Page 10: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 10/16

 

Risk Analysis

檢驗項目 風險和問題點 機率 /程度 對策

Tools

CASE 工具 不能進行整合 中 / 嚴重每一階段都先進行整合,不

 要到最後才進合Bug 記錄工具

沒記錄,錯誤的影響

,很難進行修改高 / 可接受 應用工具管理Bug 修改記錄

Requirements

測試電腦數量 不足夠 高 / 嚴重 找老師及同學的幫忙

系統操作介面 使用者不滿意 高 / 嚴重 時常找使用者進行測試詢問 意見,立即進行改善

系統的文件 缺少適當的文件記錄 中 / 可接受在規劃設計時,想清楚有哪些必需文件要記錄

Estimation

開發的時間 低估 高 / 嚴重 悲觀保守估計開發的時間

Page 11: Se Proposal

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

Page 12: Se Proposal

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

Page 13: Se Proposal

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

Page 14: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 14/16

 

Project Schedule

Project duration : 6 weeks

Using waterfall model

Page 15: Se Proposal

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.

Page 16: Se Proposal

8/8/2019 Se Proposal

http://slidepdf.com/reader/full/se-proposal 16/16

 

Thank you !