y2 eprojects

29
Y2 eProjects Session 1 – eProject Overview

Upload: otylia

Post on 23-Feb-2016

48 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Y2  eProjects

Y2 eProjectsSession 1 – eProject Overview

Page 2: Y2  eProjects

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

Page 3: Y2  eProjects

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)

Page 4: Y2  eProjects

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

Page 5: Y2  eProjects

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

Page 6: Y2  eProjects

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

Page 7: Y2  eProjects

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.

Page 8: Y2  eProjects

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.

Page 9: Y2  eProjects

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

Page 10: Y2  eProjects

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

Page 11: Y2  eProjects

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.

Page 12: Y2  eProjects

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

Page 13: Y2  eProjects

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

Page 14: Y2  eProjects

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

Page 15: Y2  eProjects

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.

Page 16: Y2  eProjects

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)

Page 17: Y2  eProjects

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

Page 18: Y2  eProjects

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

Page 19: Y2  eProjects

ACCP i7.1\Sem3_4\eProject\T1

Agile Software Development2 well-defined methods

eXtreme ProgrammingScrum

Img.: SutherlandImg.: wikipedia.org

Page 20: Y2  eProjects

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

Page 21: Y2  eProjects

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

Page 22: Y2  eProjects

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)

Page 23: Y2  eProjects

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

Page 24: Y2  eProjects

ACCP i7.1\Sem3_4\eProject\T1

The PMS

Page 25: Y2  eProjects

ACCP i7.1\Sem3_4\eProject\T1

A team’s workspace in PMS

Page 26: Y2  eProjects

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%

Page 27: Y2  eProjects

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

Page 28: Y2  eProjects

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

Page 29: Y2  eProjects

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.