Augmify Proposal Supply of Target Setting Software

16
pply of Target setting Softwa Ping Yi Secondary School Proposal

description

how to supply a target setting software

Transcript of Augmify Proposal Supply of Target Setting Software

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 1&

    !!!!!!

    Supply!of!Target!setting!Software!Ping%Yi%Secondary%School%

    %

    %

    Proposal%

    !!!!!!!!!

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 2&

    INDEX!! Document!Summary......................................................Page!3!! Scope!of!Services............................................................Page!3!

    o! Support!Services.Page!3!o! Work!BreakBDown!Structure................................Page!4!

    ! Software!Application!Mockup..Page!4!! Project!Workflow.Page!7!! InBScope!Browser!SupportPage!7!! Project!Methodology!and!ProcessPage!7!

    o! Process..Page!8!o! ProgressPage!8!

    ! Testing!Process..Page!9!o! Test!Result!and!Report..Page!9!o! Project!Monitoring!and!TrackingPage!10!o! Change!Management!Process.Page!10!o! Risk!Management!Process..Page!11!

    ! Technical!Solution..Page!12!o! Technology!Stack..Page!12!o! Hardware!RequirementPage!12!o! High!Level!ArchitecturePage!12!o! SecurityPage!13!

    ! Efforts!Estimation..Page!14!! Project!Timeline..Page!15!! Team!CompositionPage!15&! Assumptions..Page!15!& &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 3&

    Document!Summary!This!is!a!Proposal!for!development!of!a!Software!Application!to!enable!Ping!Yi!Secondary!School!to!set!achievement!targets!for!their!students.!&

    Development%proposal%includes%the%following:%

    ! Scope&of&Services,&Screenshots/Mockups&of&the&Functionality&of&proposed&software&application&! Image&file&to&see&the&Work&Flow&of&the&application&! Technical&Solution&and&Architecture&! Efforts&and&Costing&! Development&Methodology&and&Timelines&

    TOP%^%

    &

    Scope!of!Services!Software!Application!with!features!mentioned!in!Requirement!Specification!Document!provided!(ITQ!B!Target!Setting!Software!B!Annex!A.docx):!

    ! Admin&panel&for&new&user&registration&with&NRIC&no&or&Email&Id&! New&user&will&receive&password&mail&and&login&link&for&first&time&use&of&the&system&! System&should&ask&to&change&password&if&it&is&a&first&time&login&! Capable&of&reading&official&data&to&project&targets&both&for&school&and&individual&students&! Able&to&input&and&convert&data&extracted&from&MOE&and&SEABs&systems&! Use&PRISM&and&T[Scores&as&input&data&reliably&to&interpolate/extrapolate&targets&! Able&to&provide&a&detailed&analysis&of&student&results&based&on&various&input&criteria&including&T[

    scores,&past&year&examination&results&and&other&comparable&data&! Provide&a&trend&analysis&of&relevant&data&for&target&setting&! Identify&students&who&can&be&stretched&and&those&who&are&performing&below&their&capacities&! Produce&targets&and&analytical&reports&by&cohort,&subject,&class&and&individual&student&! Capable&of&customized&reports&with&a&choice&of&various&fields&! Able&to&save&analysis&and&reports&in&commonly&accepted&formats&for&future&reference&! Able&to&process&information&at&reasonable&speed&and&bug[free&! Build&with&utilities&for&first[level&troubleshooting&

    &

    Support!Services:!! Training&Support&! User&Manual&Document&

    & &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 4&

    Work!BreakBDown!Structure:!&

    Sr.%No.%

    Module% Sub%Module% Task%

    1& Requirement&Gathering&

    & ! Requirement&Gathering&

    &2& Architecture&

    Design&& ! Define&Development&Architecture&

    ! Oath&Implementation&! Frontend&and&backend&system&setup&

    &3& Design& & ! PSD&Creation&(Login,&Admin&registration,&Dashboard,&File&

    upload,&Report&screen)&&4& Development& User&

    Management&! Admin&user&can&register&new&user&by&NRIC&no&or&Email&

    address&! Email&will&be&sent&to&new&user&with&temporary&password&! System&should&check&for&temporary&password&and&ask&for&

    change&password&&& & Read&school&

    and&student&data&

    ! Read&official&data&to&project&targets&for&school&! Read&official&data&to&project&targets&for&individual&students&! Input&and&convert&data&extracted&from&MOE&! Input&and&convert&data&extracted&from&SEABs&systems&! Read&data&from&PRISM&as&input&data&reliably&to&interpolate&

    /&extrapolate&targets&! Read&data&from&T[Scores&as&input&data&reliably&to&

    interpolate&/&extrapolate&targets&&& & Reports& ! Provide&a&detailed&analysis&of&student&results&based&on&

    various&input&criteria&including&T[scores,&past&year&examination&results&and&other&comparable&data&

    ! Provide&a&trend&analysis&of&relevant&data&for&target&setting&! Able&to&produce&targets&and&analytical&reports&by&cohort,&

    subject,&class&and&individual&student&! Capable&of&customized&reports&with&a&choice&of&various&

    fields&! Save&analysis&and&reports&in&commonly&accepted&formats&

    for&future&reference&&5&Deployment&Testing&&6&Integration&Testing&

    %

    TOP%^%

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 5&

    Software!Application!Mockup!Please!Note!!These!mockBup!screens!are!not!the!final!design!but!an!idea!to!see!how!this!app!will!work.!&

    1.! Login%Screen%

    &

    &

    &

    2.! Add%User%Screen%

    %

    &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 6&

    3.! Dashboard%Screen%

    %

    &

    4.! Student%Management%

    &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 7&

    5.! CSV%Upload%

    &

    &

    6.! Change%Password%

    &

    %

    TOP%^%

    &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 8&

    Project!Workflow!

    &

    TOP%^%

    &

    InBScope!Browser!Support!% Browser%Support%

    Desktop% IE&&10,11&,&Mozilla&Firefox,&Google&Chrome&

    Mobile%device% Mobile&Browser&

    Tablet%Device% Tablet&browser&

    &

    TOP%^%

    &

    Project!Methodology!and!Process!We&will&use&Agile&Development&methodology&for&this&project.&Weekly&Sprint&Development&update&will&be&shared&with&the&Client.&Each&sprint&will&have&the&Requirement&Gathering,&Planning,&Development&and&Testing&Phase.&After&the&Final&Testing,&Sprint&Development&will&be&shared&with&Client.&

    &

    Any&change&request&if&Client&needs&to&raise&it&must&be&follow&the&company&change&request&(CR)&and&it&has&to&be&approved&from&Company&PMO&for&further&implementation.&&Any&change&request&that&comes&in&between&the&respected&Sprint&development&then&it&will&be&entertained&in&next&Sprint.&

    &

    Login&to&system Read&data&from&MOE&and&SEAB

    Prism&&&T[Score&Input&Data

    Reports

    Reports&based&on&

    Detail&Analysis&Report&Student

    Custom&ReportsPerformance&Students

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 9&

    Process:!

    &

    &

    &

    Progress:!&

    &

    TOP%^%

    %

    Sprint!Execution!Process:!! Setup&right&process&at&right&time&! Sprint&Backlog&analysis&! Keep&the&Requirement&clear&and&risk&free&! Daily&Scrum&meeting&! Weekly&status&call&! Less&turnaround&time&

    &

    &

    Requirement&Analysis Testing Development

    Sprint&4 Sprint&3 Sprint&2 Sprint&1

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 10&

    Below!is!the!process!we!will!follow!to!execute!the!project:!As&mentioned&in&the&below&table,&all&documents&will&be&shared&with&the&Client&to&get&the&approval.&Once&a&Document&is&approved&from&Client,&Augmify&will&start&working&further&accordingly.&After&signing&any&document&from&the&Client&side,&any&further&changes&will&be&cater&as&a&Change&Request&process.&Although&some&Textual&or&any&minor&change&can&be&implement&with[out&any&change&request.&

    &

    Document&Name& Approved&By&(Augmify)& Approved&by&Client&&

    SOW& Project%Manager% Yes%

    Project&Timeline&and&Budget& Project%Manager% Yes%

    Project&Plan&(Resource&loading,&sprint&plan)& Project%Manager% Yes%

    UX&Design& Project%Manager% Yes%

    Project&Detailed&Design&Document&and&ATC& Test%Manager% Yes%

    UAT&Sign[off& Project%Manager% Yes%

    %

    TOP%^%

    &

    Testing!Process!Every&development&sprint&has&a&testing&phase&where&the&test&engineer&understand&the&requirement,&prepare&the&Test&cases&and&execute&the&Testing&on&the&defined&progress&of&the&sprint.&&

    All&the&bugs&raised&by&the&Test&engineer&can&be&logged&in&a&bug&tracking&tool,&where&it&can&be&shared&the&all&stakeholders&of&the&project.&&

    &

    1!Test!Result!and!Report:!! Defect&Logging&(JIRA)&! Daily&Test&Report&! Defect&Matrix&and&Analysis&! Defect&Density&&! Release&Application&! Application&Release&Note&

    &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 11&

    2!Project!Monitoring!and!Tracking:!Augmify&proudly&uses&Jira&(https://www.atlassian.com/software/jira)&for&effective&project&management.&Using&this&tool,&the&project&teams&can&globally&access&the&project&status&through&the&dashboards&and&project&repository/artifacts,&as&required.&

    &

    !3!Change!Management!Process:!

    &

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 12&

    Step% Description%Raise& ! Project&team&member&submits&Change&Request&Form&to&Change&Manager&Evaluate&& ! Change&Request&is&reviewed&

    ! Estimate&time/effort/cost&to&implement&! Assess&impact&or&risk&to&the&project,&system,&or&business&! Develop&proposed&solution&for&proposed&change&

    Update&Log& ! Change&Manager&enters&Change&Request&into&the&CR&Log&! Status&is&updated&throughout&the&CR&process&

    Assess& ! Propose&or&recommend&the&change&solution;&obtain&approval,&rejection,&or&rework&and&negotiate&agreements&on&schedule&and&effort&for&all&affected&parties&

    Approve& ! Approve/reject&proposed&change&into&the&project&Implement& ! If&approved,&perform&change&and&update&submitter&and&stakeholders&

    ! Track&the&change&from&identification&through&update&project&plan&and&schedule&

    Communicate& ! Update/re[baseline&project&plan(s),&estimates,&and&schedule&&

    &

    4!Risk!Management!Process:!

    &

    TOP%^%

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 13&

    Technical!Solution!1!Technology!Stack:!We&propose&the&following&technologies&for&this&development:&

    ! Backend/Server%Side:&Node.js,&Express.js&! Front%End/Client%Side:&Angular.js&! Database:&MongoDB&! Tools:&Sublime&Text&

    2!Hardware!Requirement:!Following&are&the&hardware&requirement&to&run&the&application:&

    ! We&would&recommend&AWS&EC2&T2.micro&instance&with&1&Intel&Xeon&processor&with&operating&at&2.5GHz&with&Turbo&up&to&3.3GHz,&1&GiB&of&memory.&We&can&increase&the&processing&power&or&change&the&instance&as&and&when&the&load&on&the&server&increases.&

    3!High!Level!Architecture:!We&will&be&using&MEAN.IO&to&Scaffold&the&application&this&will&do&the&required&wiring&and&add&required&libraries&too.&

    &

    &

    ! MongoDB&is&a&NoSQL&database&technology&which&has&become&increasingly&popular&lately.&Two&main&things&attracted&me&to&it&&1)&it&uses&JavaScript&as&a&language&to&modify&and&query&the&database&and&JSON&format&to&store&the&data&and&2)&It&is&much&more&flexible&than&the&traditional&SQL&solutions.&It&does&not&enforce&a&schema&and&accepts&any&kind&of&unique&JSON&object&in&the&database,&no&matter&how&different&or&sophisticated&it&is.&Mongo&is&written&in&C,&but&you&use&it&with&JavaScript&which&is&why&I&consider&it&a&fitting&part&for&my&100%&JavaScript&stack.&

    ! Express.js&has&become&the&dominant&server[side&MVC&framework&for&Node.js.&What&I&like&very&much&about&this&technology&is&how&well&it&fits&with&my&thinking&as&a&Client[side&JavaScript&developer.&It&is&minimalistic,&yet&very&powerful&and&extendable.&Express&defines&the&responses&to&

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 14&

    each&type&of&HTTP&request&at&each&defined&route&and&treats&the&request&and&responses&as&objects&you&can&manipulate&in&any&way&you&see&fitting.&

    ! Angular.js&is&a&Client[side&MVC&framework&by&Google&which&is&fighting&for&the&crown&in&this&realm&with&the&other&main&contender&Backbone.js,&of&which&Im&also&a&fan.&Angular&differs&in&the&way&that&it&aims&to&be&a&complete&solution&for&large[scale&applications&and&has&very&many&powerful&out&of&the&box&features.&It&has&been&gaining&a&lot&of&popularity&lately.&One&of&its&main&goals&is&to&increase&developer&productivity&and&creativity.&

    ! Node.js&is&the&biggest&game[changer&in&the&JavaScript&world&since&jQuery.&It&allows&JavaScript&to&transcend&its&traditional&role&as&a&browser&scripting&language&and&become&a&fully[fledged&programming&language&which&can&be&used&for&almost&any&purpose.&Many&tools&which&have&until&now&been&only&available&to&Java,&Ruby,&PHP,&.NET&or&Python&developers&now&have&their&analogs&in&the&Node.js.&It&is&used&from&writing&servers&and&making&web&applications&to&programming&drones&and&robots&like&the&Parrot&AR&and&Arduino.&NPM&is&a&brilliant&feature,&it&is&the&registry&for&tools,&plugins,&frameworks,&libraries&and&anything&JavaScript&you&need&which&can&be&added&to&your&application&with&a&simple&terminal&command.&&Node.js&will&have&all&the&business&logic&and&the&REST&API&for&the&external&world&to&access.&In&this&case&business&logic&layer&will&communicate&with&the&MOE&and&SEAB&Systems&to&import&and&process&the&data&as&per&the&required&report.&

    4!Security:!Web&services&are&an&integral&part&of&many&Service&Oriented&Architectures.&They&facilitate&inter&and&intra&system&communication,&allowing&for&data&exchange&and&shared&functionality&among&internal&and&external&consumers&and&devices.&&However,&while&a&system&can&open&access&to&its&resources,&security&must&be&considered.&This&becomes&a&challenge&as&the&HTTP&protocol&is&stateless,&so&it&cannot&remember&anything&between&requests&and&it&forgets&everything&on&the&next&request.&

    System&must&know&who&has&access&to&this&service&and&how&a&consumer&can&prove&his&identity.&This&document&aims&to&provide&information&of&JWT&(JSON&Web&Encryption)&one&of&the&several&methodologies&of&authentication&in&web&services.&

    Traditional%Authentication%Systems%

    Before&proceeding&with&a&token[based&authentication&system,&let's&have&a&look&at&a&traditional&authentication&system&first:&

    ! The&user&provides&a&username&and&password&in&the&login&form&and&clicks&Log[In&! After&the&request&is&made,&validate&the&user&on&the&backend&by&querying&in&the&database.&If&the&

    request&is&valid,&create&a&session&by&using&the&user&information&fetched&from&the&database,&and&then&return&the&session&information&in&the&response&header&in&order&to&store&the&session&ID&in&the&browser&

    ! Provide&the&session&information&for&accessing&restricted&endpoints&in&the&application&! If&the&session&information&is&valid,&let&the&user&access&specified&end&points,&and&respond&with&

    the&rendered&HTML&content&

    Everything&is&fine&until&this&point.&The&web&application&works&well,&and&it&is&able&to&authenticate&users&so&that&they&may&access&restricted&endpoints;&however,&what&happens&when&you&want&to&develop&another&

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 15&

    Client,&say&for&Android&or&IOS,&for&your&application&and&utilize&the&same&web&services?&Current&architecture&will&not&be&able&to&authenticate&mobile&Clients&for&two&main&reasons:&

    ! Sessions&and&cookies&do&not&make&sense&for&mobile&applications.&You&cannot&share&sessions&or&cookies&created&on&the&server[side&with&mobile&Clients&

    ! In&the&current&application,&the&rendered&HTML&is&returned.&In&a&mobile&Client,&you&need&something&like&JSON&or&XML&to&be&included&as&the&response&

    TokenTBased%Authentication%(JWT)%

    In&a&Token[Based&Authentication,&cookies&and&sessions&will&not&be&used.&A&token&will&be&used&for&authenticating&a&user&for&each&request&to&the&server.&Let's&explain&the&scenario&with&a&token[based&authentication.&

    It&will&use&the&following&flow&of&control:&

    ! The&user&provides&a&username&and&password&in&the&login&form&and&clicks&Log%In&! After&a&request&is&made,&validate&the&user&on&the&backend&by&querying&in&the&database.&If&the&

    request&is&valid,&create&a&token&by&using&the&user&information&fetched&from&the&database,&and&then&return&that&information&in&the&response&header&so&that&we&can&store&the&token&browser&in&local&storage&

    ! Provide&token&information&in&every&request&header&for&accessing&restricted&endpoints&in&the&application&

    ! If&the&token&fetched&from&the&request&header&information&is&valid,&let&the&user&access&the&specified&end&point,&and&respond&with&JSON&or&XML&

    In&this&case,&we&have&not&returned&session&or&cookie,&and&we&have&not&returned&any&HTML&content.&That&means&that&we&can&use&this&architecture&for&any&Client&for&a&specific&application.&Flow&diagram&in&next&page.&

    TOP%^%

    %

    Efforts!Estimation!The!Development!Efforts!include!Testing!and!Quality!Audits:!%Resource%Loading% Total%Hours% Rate(Per%Hour)%SGD% Amount%PM/Scrum&Master& 70& $30& $2100&Node.js& 240& $25.83& $6200&Angular.js&+&HTML&+&Design& 240& $25.83& $6200&QA& 50& $21.25& $1062.5&Total%Weekly%Effort% 600% %% $15,562.5%

    &

    TOP%^%

  • Supply&of&Target&Setting&Software&|&Ping&Yi&Secondary&School& Augmify&Pte.&Ltd.&(201215159G)& 16&

    Project!Timeline!Augmify!will!share!the!Detailed!Project!Plan!at!the!Start!of!Execution:!&

    &

    %

    TOP%^%

    Team!Composition!Role% Name%Project&Manager&/&Scrum&Master& Shaun&Stanislaus&Lau&Tsun&Ying&Node&JS&Developer& Nanda&Gawade&Angular&JS&& Derek&Zeng&Designer Shweta&Sharma&QA& Peter&Purshotma&

    &

    TOP%^%

    Assumptions!! System&will&be&developed&from&scratch&and&no&existing&system&is&present.&! Wireframes&for&the&reports&will&be&provided&by&the&Client.&! Data&will&be&stored&locally&from&MOE&and&SEAB&Systems&and&Node.js&application&need&not&access&

    external&MOE,&SEAB&Systems.&! Client&will&provide&AWS&instance&and&that&cost&is&not&included&in&this&estimation.&&

    TOP%^%