Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design & Development Scott Battaglia Rutgers, the State University of New Jersey.

Similar presentations


Presentation on theme: "Design & Development Scott Battaglia Rutgers, the State University of New Jersey."— Presentation transcript:

1 Design & Development Scott Battaglia scott_battaglia@rutgers.edu Rutgers, the State University of New Jersey

2 Agenda Development Lifecycle Technologies Questions

3 Reference Applications JA-SIG Central Authentication Service Absence Reporting System Time Reporting System Switch Management Tool

4 Development Process Gather requirements High level planning Application Development System testing Release

5 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?

6 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

7 Functional Requirements Specifies a function that a system/software system or system/software component must be capable of performing. Define behavior of the system

8 Risks Every application has unknowns or risks Affect development time Document them

9 High Level Planning Iterative and incremental development Define:  Milestones  Release Candidates  General Audience release Phase development

10 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

11 Milestones denote reaching an identifiable stage in completion of something Implement some subset of features Generally implemented in terms of use cases

12 Milestones Generally consist of following phases  Design/Analysis  Unit Tests  Feature implementation  Milestone release  Client review

13 Milestones – Design/Analysis Includes use case analysis Architecture/system design (interfaces, domain)

14 Milestones – Unit Tests Comprehensive unit tests for every interface Usually written before writing actual code

15 Milestones – Feature Implementation Coding of concrete implementations of interface

16 Milestones - Release When subset of features is complete, released to target audience Used to gather feedback

17 Milestones - Feedback Either demo milestone to clients Or give time to review Meet to discuss milestone  Changes  Enhancements  Scrap features  Etc.

18 Release Candidates Denotes feature complete Candidate for release as long as there are no show stoppers Follows iterative process

19 General Audience Generally only one Considered production release

20 Important Meetings During development lifecycle meetings are important:  Kick off meetings  Code Reviews  Milestone Reviews  Status Meetings  Production Meetings  After Release Party

21 Coding Standards Define  Naming Conventions  Formatting Standards  Javadoc Standards Best Practices  Leverage known libraries  Coding to interfaces  Logging  Horizontal components  …

22 Technologies - Eclipse

23 Technologies - CVS

24 Technologies – Issue Tracking

25 Technologies – Test Coverage

26 Technologies – Building

27 Technologies – Continuous Integration

28 Technologies - Mailing Lists Useful for distributed projects  User support list  Developer list Useful for internal projects too  Discussions  Questions  Etc.

29 Summary Iterative design process Create common standards Maximize usage of technology

30 Questions Any questions/comments?


Download ppt "Design & Development Scott Battaglia Rutgers, the State University of New Jersey."

Similar presentations


Ads by Google