Back to the portfolio

Project Management

Planning, Specifying, and Shipping

Two software engineering courses and a senior capstone, carried from requirements and design through a planned schedule, a built application, and a tested release.

CEIS200, Software Engineering I

Solo project, Sep to Oct 2024. Full systems analysis for a mobile and web platform: requirements specification, UML modeling, risk register, and business evaluation.

Main document Final Report and IEEE 830 SRS The complete specification: purpose and scope, product functions, user classes, operating environment, functional and non-functional requirements, and the full use case set for a Blazor and MAUI application on Azure. Open the PDF, 45 pages

Supporting documents

Diagrams

Modeled in Visio. Each one opens full size.

The CEIS200 Schedule

Before any of that got written, the work was planned in Microsoft Project. Nine phases over five months, drawn here from the actual .mpp file rather than a screenshot of it.

60 tasks 9 phases 37 on the critical path Sep 28, 2024 to Feb 21, 2025

  • Foundation 2d
  • Initiation and Planning Phase 6d
  • Analysis and Design Phase 8d
  • Develop 21d
  • Frontend Development 30d
  • Code Review and Refactoring 2d
  • Testing 87d
  • Deployment 5d
  • Maintenance 1d
Show all 60 tasks and the task grid
  • Foundation 2d
  • Define Definition of Done 1d
  • Define Definition of Ready 1d
  • Create GitHub Repository 1d
  • Initiation and Planning Phase 6d
  • Project Initiation Document 1d
  • Preliminary Analysis 2d
  • Define Requirements 1d
  • Project Schedule and Budget 2d
  • Analysis and Design Phase 8d
  • System Analysis 1d
  • Architecture Design 2d
  • UI/UX Design 2d
  • Review and Approval 1d
  • Develop 21d
  • Development Environment Setup 5d
  • Infrastructure Setup 5d
  • Network Configuration 1d
  • General Server Setup 1d
  • Section Database 1d
  • User Authentication Database 1d
  • Database Security Configurations 1d
  • API and Backend Development 16d
  • Implement User Registration 1d
  • Implement Login Functionality 1d
  • API Research and Selection 2d
  • API Research and Selection 2d
  • API Integration Planning 2d
  • Develop API connectors 2d
  • Implement Individual APIs 2d
  • API Security 1d
  • API Testing 1d
  • Implement Menu Management 2d
  • Implement location services 2d
  • Implement Event Management 2d
  • Implement Loyalty Program 2d
  • Frontend Development 30d
  • User Interface Design 10d
  • UI Components 10d
  • Integrate APIs and backend with Frontend 10d
  • Code Review and Refactoring 2d
  • Testing 87d
  • Test Planning 14d
  • Test Environment 7d
  • Infrastructure Testing 1d
  • Database security testing 1d
  • API Integration testing 1d
  • Functional Testing 2d
  • Non-Functional Testing 2d
  • End User Testing 14d
  • Bug Fixing and retesting 7d
  • Deployment 5d
  • Deployment Planning 2d
  • Production Enviornment Setup 5d
  • Application Deployment 5d
  • Post Deployment testing 1d
  • Maintenance 1d
  • User Training and Documentation 1d
  • System Monitoring and Maintenance 1d
  • Ongoing Support and Updates 1d

Task grid

Phases and their top level tasks. Predecessor numbers are the task IDs each one waits on.

Project schedule
IDTask DaysStart FinishPredecessors
1 Foundation 2 Sep 30, 2024 Oct 1, 2024
2 Define Definition of Done 1 Sep 30, 2024 Sep 30, 2024
3 Define Definition of Ready 1 Sep 30, 2024 Sep 30, 2024
4 Create GitHub Repository 1 Oct 1, 2024 Oct 1, 2024 2, 3
5 Initiation and Planning Phase 6 Sep 30, 2024 Oct 7, 2024
6 Project Initiation Document 1 Sep 30, 2024 Sep 30, 2024
7 Preliminary Analysis 2 Oct 1, 2024 Oct 2, 2024 6
8 Define Requirements 1 Oct 3, 2024 Oct 3, 2024 7
9 Project Schedule and Budget 2 Oct 4, 2024 Oct 7, 2024
10 Analysis and Design Phase 8 Sep 30, 2024 Oct 9, 2024
11 System Analysis 1 Oct 8, 2024 Oct 8, 2024 9
12 Architecture Design 2 Sep 30, 2024 Oct 1, 2024
13 UI/UX Design 2 Sep 30, 2024 Oct 1, 2024
14 Review and Approval 1 Oct 9, 2024 Oct 9, 2024 11, 12, 13
15 Develop 21 Oct 10, 2024 Nov 7, 2024
16 Development Environment Setup 5 Oct 10, 2024 Oct 16, 2024
23 API and Backend Development 16 Oct 17, 2024 Nov 7, 2024 16
37 Frontend Development 30 Nov 8, 2024 Dec 19, 2024 23
38 User Interface Design 10 Nov 8, 2024 Nov 21, 2024
39 UI Components 10 Nov 22, 2024 Dec 5, 2024 38
40 Integrate APIs and backend with Frontend 10 Dec 6, 2024 Dec 19, 2024 39
41 Code Review and Refactoring 2 Dec 20, 2024 Dec 23, 2024 37
42 Testing 87 Oct 17, 2024 Feb 14, 2025
43 Test Planning 14 Dec 24, 2024 Jan 10, 2025 41
44 Test Environment 7 Jan 13, 2025 Jan 21, 2025 43
45 Infrastructure Testing 1 Oct 17, 2024 Oct 17, 2024 17
46 Database security testing 1 Oct 18, 2024 Oct 18, 2024 17, 45
47 API Integration testing 1 Oct 21, 2024 Oct 21, 2024 46
48 Functional Testing 2 Jan 13, 2025 Jan 14, 2025 43
49 Non-Functional Testing 2 Jan 15, 2025 Jan 16, 2025 48
50 End User Testing 14 Jan 17, 2025 Feb 5, 2025 49
51 Bug Fixing and retesting 7 Feb 6, 2025 Feb 14, 2025 50
52 Deployment 5 Feb 17, 2025 Feb 21, 2025 42
53 Deployment Planning 2 Feb 17, 2025 Feb 18, 2025
54 Production Enviornment Setup 5 Feb 17, 2025 Feb 21, 2025
55 Application Deployment 5 Feb 17, 2025 Feb 21, 2025
56 Post Deployment testing 1 Feb 17, 2025 Feb 17, 2025
57 Maintenance 1 Sep 30, 2024 Sep 30, 2024
58 User Training and Documentation 1 Sep 30, 2024 Sep 30, 2024
59 System Monitoring and Maintenance 1 Sep 30, 2024 Sep 30, 2024
60 Ongoing Support and Updates 1 Sep 30, 2024 Sep 30, 2024

Extracted from CEIS200Louie_Venegas.mpp with MPXJ. Task names were corrected for spelling; dates, durations, and dependencies are untouched.

CEIS400, Software Engineering II

Equipment Checkout System for a manufacturing client. Team project, Apr 2025.

My role: team lead. I carried the majority of the build and delegated scoped tasks to the rest of the group. Teammates are anonymized below.

Team roles
RoleOwnerScope
Lead, architecture and data layerLouie VenegasSchema, DAO and service layers, database initialization, auditing, most of the UI
Requirements supportTeam member ASRS sections and test report authoring
Test executionTeam member BTest case runs against the IEEE 829 plan
DocumentationTeam members C to FUse case catalog and scenario write-ups

The work breakdown structure I authored

A second Microsoft Project file, 48 tasks across 8 phases, Mar 2, 2025 to Apr 22, 2025. Drawn from the .mpp, same as above.

  • Equipment Checkout System 1d
  • Planning Phase wk 1 1d
  • Define business objectives 2d
  • Identify stakeholders 1d
  • Develop project scope (use SRS Scope section) 1d
  • Create a high-level project plan 3d
  • Analysis Phase wk2 1d
  • Object-Oriented Analysis and Design (OOAD) UML and Document 1d
  • Use Case Description and UMLUse Case Diagram 1d
  • IEEE 829 Test Plan 1d
  • Sequence diagram 1d
  • State Machine Diagram 1d
  • Risk Assesment Analysis and Matrix 1d
  • Approve all preliminary planning assessments 0d
  • Design Phase WK3 1d
  • Define system components and modules 1d
  • Develop system architecture diagrams 2d
  • Identify data flow and system interactions 2d
  • Validate architectural design with stakeholders 0d
  • Development Preparation Wk4 1d
  • Review and refine software architecture 1d
  • Develop initial database schema 1d
  • Outline preliminary UI designs (Visio Wire Diagrams) 2d
  • Establish security and access control measures 2d
  • Hardware Interface Design (Barcode Scanner Integration) 1d
  • Designs are approved 0d
  • Implementation Phase Wk5 1d
  • Software Design and Construction 1d
  • Construction & Testing Phase (Week 6) 1d
  • Implement access control and reporting 1d
  • Testing commencement 0d
  • Conduct unit testing 1d
  • Perform integration testing 1d
  • Document test results 1d
  • Finalization Phase (Week 7) 1d
  • Perform user acceptance testing (UAT) 1d
  • Refine system based on testing feedback 1d
  • Prepare final documentation 1d
  • Deployment & Maintenance Phase (Week 8) 1d
  • Deploy the system 1d
  • Conduct final testing and maintenance 1d
Main document IEEE 830 Requirements Specification The requirements the Equipment Checkout System was built and tested against: product perspective, user characteristics, functional requirements, performance and security constraints, and the interfaces the build had to satisfy. Open the PDF, 5 pages

Supporting documents

Design and analysis

The appendices the requirements specification points at: system architecture in section 4.1, use case diagrams in 4.2, and the database schema in 4.3, plus the design document built on top of them.

Test planning and results

A written plan, then three reporting cycles: what failed, what was fixed, what signed off.

Inside the application

11,796 lines across 59 classes I wrote, in a layered structure.

UserInterface 19 classes 6,705 loc Swing windows, panels, and report views
DataAccess 22 classes 3,691 loc DAO pattern, service layer, connection and auditing
Model 17 classes 1,265 loc Domain objects: equipment, employee, skill, location
Setup 1 classes 135 loc Database initialization

Application screens

Fifteen windows, read from the NetBeans form definitions in the source. Control counts are what the interface actually contains.

Employee Termination 35 Search, verify, and process a termination with audit trail
Check Out 32 Equipment type, availability, skill level, and condition checks
Check In 23 Condition match confirmation on return
Inventory Report 14 Filter by type and location, export results
Add User 11 Name, role, and skill level assignment
Equipment Usage Report 11 Date range reporting with generate and export
Overdue Equipment Report 10 Days overdue tracking by equipment type
Generate Reports 9 Report hub: inventory, usage, value and loss
Transaction Report 9 Per user, date bounded, exportable
Add Equipment 8 Type, quantity, and location intake
Equipment Management 8 Search and add against the equipment catalog
Log In 8 Staff ID authentication
ECS Hub 7 Navigation across all subsystems
User Management 7 Search and add users by employee ID
Main Window 4 Entry point for check in and check out

Code

Parameterized statements and try-with-resources throughout the data layer.

// EquipmentDAO.java, from the DataAccess layer
public boolean createEquipment(Equipment equipment) {
    String sql = "INSERT INTO equipment (equipment_code, equipment_type, value, skill_id, " +
                "availability_id, status_id, employee_id, location_id) " +
                "VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

    try (Connection conn = DatabaseConnection.getConnection();
         PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {

        stmt.setInt(1, equipment.getEquipmentCode());
        stmt.setString(2, equipment.getEquipmentType());
        stmt.setBigDecimal(3, equipment.getValue());
        stmt.setInt(4, equipment.getSkill().getSkillId());

        if (equipment.getEmployee() != null) {
            stmt.setInt(7, equipment.getEmployee().getEmployeeId());
        } else {
            stmt.setNull(7, Types.INTEGER);
        }

        int affectedRows = stmt.executeUpdate();

The applications running

The screenshots that used to sit here now live in the technical gallery, sorted by class, alongside every other capture from the program.

Gallery Technical Gallery 174 screenshots across 13 classes. The three applications built in this program lead the page: the Python stock tracker, the Java business application, and the C# payroll system. Open the gallery

Source

TECH460, Senior Capstone

A 22 task work breakdown structure over 101 days, scheduling a twelve month research pilot on battery storage inverters. The full proposal sits with the rest of the coursework.