y2 eprojects
DESCRIPTION
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 ?. - PowerPoint PPT PresentationTRANSCRIPT
Y2 eProjectsSession 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
ACCP i7.1\Sem3_4\eProject\T1 2
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 Software Development Life Cycle (SDLC) is a
sequence of activities carried out by analysts, designers, and users to develop and implement an software system.
Phases of SDLC
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
ACCP i7.1\Sem3_4\eProject\T1
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.
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.
ACCP i7.1\Sem3_4\eProject\T1
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
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.
ACCP i7.1\Sem3_4\eProject\T1
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.
Requirements
Analysis
Design
Coding
Testing
Maintenance
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
13
14
RUPEffective Deployment of 6 Practices
1. Develop Software Iteratively To complex to do in “one shot” Limit risk
2. Manage Requirements Track documents, decisions, uses UML, Design
Driven Development3. Use Reusable Architectures (Component
Based) Leverage off existing architectures (Beans, .NET,
etc.)
15
RUPEffective Deployment of 6 Practices1. Visually Model Software
Assist in planning, design, implementation, etc. through modeling (UML)
Code written through “graphical building blocks.”
2. Verify Software Quality Assessment built into all activities involving all participants. Reliability, performance (system and application)
3. Control Changes to Software Assure changes are tracked, monitored, and successful.
RUP2 Dimensions – Dynamic and Static Aspect
16
Horizontal – Time aspect of process: Cycles Phases Iterations Milestones
Vertical – Static aspects of process: Activities Artifacts Workers Workflows
Image from RUP (Wikipedia)
Dynamic aspects (Time)
Staticaspects (Content)
RUP Phases
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!
Inception Elaboration Construction Transition
Major Milestones
ACCP i7.1\Sem3_4\eProject\T1
Agile Software Development
Agile Method Agile = ‘light-weight’ Focus team
communication rather than heavy-weighted process
Remove ‘overhead’ during software development
Increase team’s productivity
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
ACCP i7.1\Sem3_4\eProject\T1
Agile Software Development2 well-defined methods
eXtreme ProgrammingScrum
Img.: SutherlandImg.: wikipedia.org
ACCP i7.1\Sem3_4\eProject\T1
The eProject Processat FPT-Aptech
eProject Registration
eProject Request
CAH
Project RequirementsRelease
3 Weeks
Send Project Progress Report 1 to India
10 days
Send Project Progress Report 2 to India
10 days
eProject Orientation (T1)
Instructor
Evaluation
Project Submission
Project Defense
Evaluation
Final Result
OOAD (T2 – T4)
Project Demo 1-3 (L1-L3)
Requirement + PlanVerification (T5)
Project Starts
Student
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
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? 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.
J. Davidson FrameProject Management Methodologies by Jason Charvat, JOHN WILEY & SONS, 2003, p12
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.