Inception :
A group project for COSC 340 - Software Engineering. A visual File Browser that will size icons by usage. Members include : Cody, Cara, Manny, Nathan, and Hayden. The construction phase will last 5 sprints with intermittent demos to Dr. Henley.
Elaboration:
-
Detailed requirements
- Supports Mac, Windows, and Linux operating systems
- Saves file usage counts
- Pulls Icons through OS for files
- Sizes Icons based on usage (large for more frequently used)
- Different Visual Layouts
- Use Cases???
- Risks:
- ■■Requirements risks:
- Supporting different OS's may bring unforeseeable challenges.
- ■■Technological Risks:
- Memory usage for saving file counts
- Resizing GUI with icons
- ■■Skills Risks:
- GUI N00bs
- Soft Skills / Time management on a group project
- Github / Subversion control
- ■■Political Risks:
- "Are there political forces that can get in the way and seriously affect your project?"
- ■■Requirements risks:
-
High-level analysis
-
- How to deal with Technological Risks?
- ■■"Pre Optimization is the root of all evil in programming" We can build prototypes and try out pieces of technology we are thinking of using
- How to deal with Skills Risk?
- ■■GUI training
- ■■Maintaining code that is readable and Refactoring
- ■■Comments and communication is key
- How to deal with Technological Risks?
-
Baseline architecture
- Object Oriented Programming (https://python.swaroopch.com/oop.html)
- Checks OS, Loads Config files / Makes config file
- Opens or asks for desktop directory
-
Plan for construction
Construction :
"Scrum, the most popular agile framework in software development , is an iterative approach that has at its core the sprint — the scrum term for iteration. Scrum teams use inspection throughout an agile project to ensure that the team meets the goals of each part of the process."
Sprints every 2 weeks:
Sprint 1:
** CMD line working program**
- Supports and handles multiple OS's
- Saves file usage in dictionary, Can save path to file + usage in hashmap
- Graveyard
Sprint 2:
** GUI Phase 1:**
- Plum together Cmd program to Filebrowser GUI
Sprint 3:
** GUI Phase 2 & Layouts Phase 1:**
- Icon resizing based on saved usage + some form of graphical layout
Sprint 4:
** Layouts Phase 2:**
- Implementing better and more visual layouts
Sprint 5:
** Layouts Phase 3:**
- Improving layouts
Transition :
- Beta Testing
- Performance tuning
- User training