290 likes | 449 Views
Y2 eProjects. Session 1 – eProject Overview. Objectives. What is eProject ? Software Development Life Cycle eProject Process and Tools Management The use of PMS How are eProjects evaluated ? Best Practices. What is eProject ?.
E N D
Y2 eProjects Session 1 – eProject Overview
Objectives • What is eProject? • Software Development Life Cycle • eProject Process and Tools • Management • The use of PMS • How are eProjectsevaluated? • Best Practices ACCP i7.1\Sem3_4\eProject\T1
What is eProject? “eProject is a step by step learning environment that closely simulates the classroom and lab based learning environment into actual implementation” In eProjects, students have a chance to put all knowledge and skills together to build a software using key technologies (.NET and Java) ACCP i7.1\Sem3_4\eProject\T1
eProject Objectives • Practice iterative software development using key technologies • Collaborate in software development teams • Usage of tools and processes for software construction • Mentoring through e-mail support and face-to-face discussion. • Feel real life scenario and help to create complex and useful applications. • Enhance skills and add value ACCP i7.1\Sem3_4\eProject\T1
Software Development Life Cycle Phases of SDLC Software Development Life Cycle (SDLC) is a sequence of activities carried out by analysts, designers, and users to develop and implement an software system. ACCP i7.1\Sem3_4\eProject\T1
SDLC Phases (cont’d)Preliminary Investigation • An important outcome of the preliminary investigation is determining whether the system to be developed is feasible or not. • If the investigation weighs against the project's success, the project is discontinued • Feasibility factors: • Technology • Economic • Legal • Operational • Schedule • Resource • Cultural OOAD with UML / Session 1 / 6 of 27
SDLC Phases (cont’d)Requirement Analysis (Analysis) Involves study of the current business system in detail and to find out how it works and where the improvements have to be made. The project team uses techniques to fully understand what the project should deliver. One of the outcomes of RA is a formal document representing all important aspects of the system such as System Requirements Specification, Use cases or user stories, etc. ACCP i7.1\Sem3_4\eProject\T1
SDLC Phases (cont’d)Design • The design phase states how a system will meet the requirements identified during the systems analysis phase as mentioned in the Requirements Specifications. • Identification of data entry forms, data elements, reports, outputs the new system should produce, data elements and tables for database. • Identification of objects (OOAD method) and interaction between them to satisfy the requirements. • Sketch the form or display (UI) as expected to appear at the end of completion of the system. • Computation procedures explaining the process of deriving the output from given input. • Design emphasizes a conceptual solution (in software and hardware) that fulfills the requirements, rather than its implementation.
SDLC Phases (cont’d)Software Construction The project teams use program languages, supporting frameworks and tools to create executable programs Construction may include debugging, unit testing and system integration During software construction, code standard can be used The project teams usually use a version control to stimulate code sharing and team collaboration ACCP i7.1\Sem3_4\eProject\T1
SDLC Phases (cont’d)Testing • Software testing is the process of determining if the things work as expected • Artifact-under-tested could be: • User Documentation, • Source Code Documentation, • Processes, • Programs, etc. • There are several levels of testing: • Unit Testing • Integration Testing • System Testing
SDLC Phases (cont’d) • System Deployment (aka. System Implementation) • Developed system is deployed at the user’s site for use • User personnel are trained • The data files needed by the system are constructed • System Maintenance • Due to environmental changes, the software may turn obsolete and it may call for modifications and enhancements for its effective use. • The activity of system maintenance may vary depending on the scale of modifications and enhancements.
The Waterfall Process • Basic idea: Move from the “big picture” idea of problem to delivered solution. • Idealized picture of development process. • Problem! What do we do if a mistake or misunderstanding is sent from one step to the next step. ACCP i7.1\Sem3_4\eProject\T1
The Rational Unified Process (RUP) • RUP is a Software Engineering Process using an iterative approach to software engineering. • Based on spiral model. • Product owned by IBM but developed by Rational Software (80’s to 90’s) • RUP is model centric using Universal Modelling Language (UML) • RUP is a configurable process which can be tailored to a companies needs. • Can be configured to meet organizations needs. • RUP follows and covers six fundamental best practices
RUPEffective Deployment of 6 Practices • Develop Software Iteratively • To complex to do in “one shot” • Limit risk • Manage Requirements • Track documents, decisions, uses UML, Design Driven Development • Use Reusable Architectures (Component Based) • Leverage off existing architectures (Beans, .NET, etc.)
RUPEffective Deployment of 6 Practices • Visually Model Software • Assist in planning, design, implementation, etc. through modeling (UML) • Code written through “graphical building blocks.” • Verify Software Quality • Assessment built into all activities involving all participants. • Reliability, performance (system and application) • Control Changes to Software • Assure changes are tracked, monitored, and successful.
Horizontal – Time aspect of process: Cycles Phases Iterations Milestones Vertical – Static aspects of process: Activities Artifacts Workers Workflows RUP2 Dimensions – Dynamic and Static Aspect Dynamic aspects (Time) Staticaspects (Content) Image from RUP (Wikipedia)
Four phases make up a product lifecycle or generation Software lifecycle broken into cycles: one product generation. Phases in RUP are as important as steps (disciplines). Each phase ends with a milestone. Point in time where critical decisions MUST be made. Fail milestone and project can be cancelled! RUP Phases
Agile Software Development Agile Method Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan • Agile = ‘light-weight’ • Focus team communication rather than heavy-weighted process • Remove ‘overhead’ during software development • Increase team’s productivity ACCP i7.1\Sem3_4\eProject\T1
Agile Software Development2 well-defined methods Img.: Sutherland Img.: wikipedia.org Scrum eXtreme Programming ACCP i7.1\Sem3_4\eProject\T1
The eProjectProcessat FPT-Aptech ACCP i7.1\Sem3_4\eProject\T1
Development Environment • Programming Language • C# (Sem3) • Java (Sem4) • Others (JavaScript, VBScript, etc.) • Frameworks • .NET 2.0 (S3) • J2EE 1.5 (s4) • IDEs • Visual Studio 2005 • NetBeans • Others • Integrated Project Management Environment: http://pms.aptech.ac.vn • Issues(Time, Bugs, Features) management • Software Control Management: SVN • SVN Client: TortoiseSVN • Others ACCP i7.1\Sem3_4\eProject\T1
Management • India • Phased Project Status tracking • Email communication • Vietnam • Life-time status tracking • Face-to-face mentoring and communication • Software-based artifacts tracking and management( code, docs, plan) ACCP i7.1\Sem3_4\eProject\T1
The use of PMS • PMS (http://pms.aptech.ac.vn) is an Integrated Project Management Environment which support: • Project management • Time tracking • Features tracking • Bug Tracking • Software Configuration Management • PMS is used to stimulate team collaboration and management • Industry-like Simulation ACCP i7.1\Sem3_4\eProject\T1
The PMS ACCP i7.1\Sem3_4\eProject\T1
A team’s workspace in PMS ACCP i7.1\Sem3_4\eProject\T1
How are eProjects evaluated? • India • I_Mark • Vietnam • V_Mark • eProject Mark = 50% I_Mark + 50% V_Mark • Pass Condition: eProject Mark >= 40% ACCP i7.1\Sem3_4\eProject\T1
Why do Projects Fail? J. Davidson Frame Project Management Methodologies by Jason Charvat, JOHN WILEY & SONS, 2003, p12 Inadequate cost and time estimation Bad plan Bad managers The theory of project management is not put into practice. The project scope changes. The incorrect project methodology is used. Requirements have major changes. Communications are poor. Testing and/or inspections are poorly done. ACCP i7.1\Sem3_4\eProject\T1
Best Practices Understand what customer wants Adequate management Team collaboration Collaborate effectively with other tiers (customers, instructors) Learn and use best practice from previous teams ACCP i7.1\Sem3_4\eProject\T1
References and Readings Aptech India, eProject Guide (Hard Copy) eProject Implementation Guide (Students and Instructors) OOAD, ACCP 2003 Curriculum Agile Alliance, Agile Manifesto(AgileAlliance.org) IBM, Rational Unified Process – Best Practices for Software Development Teams Jason Charvat (2003), Project Management Methodologies, JOHN WILEY & SONS. ACCP i7.1\Sem3_4\eProject\T1