Session 1 – eProject Overview

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 2 Approaches to System Development
Approaches to Systems Development
CS3773 Software Engineering Lecture 01 Introduction.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Object-Oriented Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Systems Analysis and Design in a Changing World, Fifth Edition
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Introduction to Systems Analysis and Design
Introduction to Computer Technology
Chapter 1 The Systems Development Environment
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Software Development Process
CIS 321—IS Analysis & Design
S/W Project Management
Chapter 2: Approaches to System Development
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 2 The process Process, Methods, and Tools
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
LECTURE 1 What does a Business Analyst do? IFS 231 Business Analysis.
Chapter 1: Introduction to Systems Analysis and Design
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Installation and Maintenance of Health IT Systems
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Introduction To System Analysis and Design
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
The Systems Development Environment Systems Analysis and Design II.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Introduction to OOAD and UML
Introduction To System Analysis and Design
Software Development Framework
Process 4 Hours.
Chapter 1: Introduction to Systems Analysis and Design
Introduction to Software Engineering
Object Oriented Analysis and Design
Methodologies For Systems Analysis.
Chapter 2 – Software Processes
Software Engineering Fundamentals
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Session 1 – eProject Overview Y2 eProjects Session 1 – eProject Overview V1.0 Prepared by: Duong Trong Tan (tandt@fpt.com.vn)

ACCP i7.1\Sem3_4\eProject\T1 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

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

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 Add a shape 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 Source: OOAD, ACCP 2003 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 http://en.wikipedia.org/wiki/Feasibility_study 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 Wait to Session 4 for detailed discussion of software 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. 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

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

RUP Effective 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.

RUP 2 Dimensions – Dynamic and Static Aspect Dynamic aspects (Time) Horizontal – Time aspect of process: Cycles Phases Iterations Milestones Vertical – Static aspects of process: Activities Artifacts Workers Workflows Static aspects (Content) Image from RUP (Wikipedia)

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!

Agile Software Development Agile Method Agile Manifesto Agile = ‘light-weight’ Focus team communication rather than heavy-weighted process Remove ‘overhead’ during software development Increase team’s productivity 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 Development 2 well-defined methods Reading request=> Students [Explanation pending] Img.: Sutherland Img.: wikipedia.org Scrum eXtreme Programming ACCP i7.1\Sem3_4\eProject\T1

The eProject Process at FPT-Aptech [Explanation pending] 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 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

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 Industry-like Simulation? ACCP i7.1\Sem3_4\eProject\T1

ACCP i7.1\Sem3_4\eProject\T1 The PMS ACCP i7.1\Sem3_4\eProject\T1

ACCP i7.1\Sem3_4\eProject\T1 Instructor: Demo on a browser the main features of PMS Discovery request => students (after this session) 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

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 Frame Project Management Methodologies by Jason Charvat, JOHN WILEY & SONS, 2003, p12 ACCP i7.1\Sem3_4\eProject\T1

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 [Other?] 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