Upload
mariah-wilcox
View
215
Download
0
Embed Size (px)
Citation preview
Reference Applications
JA-SIG Central Authentication ServiceAbsence Reporting SystemTime Reporting SystemSwitch Management Tool
Development Process
Gather requirementsHigh level planningApplication DevelopmentSystem testingRelease
Mission Statement
Every application has a purpose or reason for being
Clear and succinct representation of the application’s purpose
Answer two questions: What are the opportunities or needs that we
wish to address? What are we doing to address these needs?
Non-Functional Requirements
Define how the software will do something, not what it will do
Ex. software performance requirements, software external interface requirements, software design constraints, and software quality attributes
Functional Requirements
Specifies a function that a system/software system or system/software component must be capable of performing.
Define behavior of the system
High Level Planning
Iterative and incremental developmentDefine:
Milestones Release Candidates General Audience release
Phase development
Iterative Development
Develop system incrementally
Allows developer to take advantage of what was being learned
Start with simple implementation of subset of features
Iteratively enhance the versions until product completion
Milestones
denote reaching an identifiable stage in completion of something
Implement some subset of featuresGenerally implemented in terms of use
cases
Milestones
Generally consist of following phases Design/Analysis Unit Tests Feature implementation Milestone release Client review
Milestones – Design/Analysis
Includes use case analysisArchitecture/system design (interfaces,
domain)
Milestones – Unit Tests
Comprehensive unit tests for every interface
Usually written before writing actual code
Milestones - Release
When subset of features is complete, released to target audience
Used to gather feedback
Milestones - Feedback
Either demo milestone to clientsOr give time to reviewMeet to discuss milestone
Changes Enhancements Scrap features Etc.
Release Candidates
Denotes feature completeCandidate for release as long as there are
no show stoppersFollows iterative process
Important Meetings
During development lifecycle meetings are important: Kick off meetings Code Reviews Milestone Reviews Status Meetings Production Meetings After Release Party
Coding Standards
Define Naming Conventions Formatting Standards Javadoc Standards
Best Practices Leverage known libraries Coding to interfaces Logging Horizontal components …
Technologies - Mailing Lists
Useful for distributed projects User support list Developer list
Useful for internal projects too Discussions Questions Etc.