Phase 1
- Requirements Analysis
- Define project goals/scope
- Define key users/system
- Define users/system needs - understanding
- Gather user/stakeholder input
- User/stakeholder interviews/Questions
- Define constraints of the system.
- What the system cannot do.
- What the system must adhere to.
- Define requirements
- Critical
- Non-critical
- System
- Features
- Nice to haves
- Create use cases
Phase 2
- Design and Specification
- Architecture
- High level architecture
- Specification
- Define operating environment specifications
- Define hardware specifications
- Define software specifications, technologies used, etc
- Design
- System and subsystems
- UML
- Class diagrams
- Sequence diagrams
- Database/ER diagrams
- Data flows
- Architecture
Phase 3
- Implementation
- Development team education
- System Design
- Subsystem design
- J2EE programming
- J2EE standards and practice
- Buddy Programming
- Pair programming junior/senior developers
- Peer code reviews?
- Development team education
Phase 4
- Testing
- Create test cases
- Create unit tests
Methodology
- Rational Unified Process (RUP) vs. eXtreme Programming (XP)
- RUP
- Formal iterative phases
- Requirements Analysis
- Design
- Implementation
- Testing
- XP
- Informal iterative phases
- No design, creation of user stories
- Buddy programming, refractoring
- Standup meetings
- RUP
Possible Artifact Creation
- Process document
- Requirements document
- Architecture document
- Design document
- Creation of J2EE learning materials
- Test document
Possible Process
1. Elicit/Document requirements
- Requirements document
2. Create Use cases - Use case document
3. Create Specification - Specification document
4. Design system architecture - Architecture document
5. Design subsystems - Design Document
- Class diagrams
- Sequence diagrams
6. Iteration creation
- Decide on use case subset
- Implement use case subset
7. Test
8. Create new iteration
Procedures
- Initial Formal process
- Code Reviews
- Coding standards
- Buddy Programming
- Stand up meetings
- Requirements Management system
- Design Management system