Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info office: 14 -227 CSC 307 Introduction to Software Engineering Lecture 14. Dependency Management

Slide 2

Slide 2 text

Homework Assignment 06

Slide 3

Slide 3 text

3 Blueprint

Slide 4

Slide 4 text

4 Assignment https://classroom.github.com/a/w_aSF5pL

Slide 5

Slide 5 text

5 Assignment This is Now a Team of 3 Project

Slide 6

Slide 6 text

6 TaigaStudio 3.0 | TestCase with UI

Slide 7

Slide 7 text

7 TaigaStudio 3.0 ✅ ✅ ⚠ #

Slide 8

Slide 8 text

8 TaigaStudio 3.0 ✅ Do not Change without approval! Adding is fine BUT must maintain DRY

Slide 9

Slide 9 text

9 TaigaStudio 3.0 Do not Change

Slide 10

Slide 10 text

10 TaigaStudio 3.0 Do not Change

Slide 11

Slide 11 text

11 TaigaStudio 3.0

Slide 12

Slide 12 text

12 TaigaStudio 3.0

Slide 13

Slide 13 text

Next

Slide 14

Slide 14 text

14 TaigaStudio 3.0

Slide 15

Slide 15 text

15 TaigaStudio 3.0

Slide 16

Slide 16 text

16 TaigaStudio 3.0 ShouldThis code Be the similar as the one for stories on the backlog?

Slide 17

Slide 17 text

17 TaigaStudio 3.0

Slide 18

Slide 18 text

18 Assignment | New Feature Load Data from a file Save Data back to a the file A big file will be our temporal database

Slide 19

Slide 19 text

19 Assignment | What about -Cloud Synchronization - AI-Powered Support -High-Quality Visualizations

Slide 20

Slide 20 text

Dependencies

Slide 21

Slide 21 text

GoF Patterns 21

Slide 22

Slide 22 text

Application 22

Slide 23

Slide 23 text

Library • A collection of resources (classes) • A Java Archive, or JAR file, contains all of the various components that make up a self- contained, executable Java application or, most commonly, a Java library to which a Java Runtime Environment can link. 23

Slide 24

Slide 24 text

jar-download.com 24

Slide 25

Slide 25 text

• Build management tool • Maven automates dependency management by automatically downloading required libraries and their dependencies, ensuring consistent builds with specified versions. • In contrast, manually downloading JARs is labor-intensive and error-prone. 25

Slide 26

Slide 26 text

• The project object model (POM) file describes a project and its dependencies. • A standardized directory format. • Repositories where third-party software is stored and discovered. 26

Slide 27

Slide 27 text

Create a project with Maven support 27

Slide 28

Slide 28 text

Or Add Framework Support 28

Slide 29

Slide 29 text

Maven File and Directories 29

Slide 30

Slide 30 text

POM.xml 30

Slide 31

Slide 31 text

Maven Repository 31

Slide 32

Slide 32 text

Adding a New Dependency 32

Slide 33

Slide 33 text

Right-Click POM.xml 33

Slide 34

Slide 34 text

JFreeChart Display Charts

Slide 35

Slide 35 text

JFreeChart • https://www.jfree.org/jfreechart/ • JFreeChart is a library to display professional-quality charts. 35

Slide 36

Slide 36 text

MVN Repository 36

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

https://github.com/CSC3100/Maven 39 https://github.com/CSC3100/Tool-Maven

Slide 40

Slide 40 text

An example of a Factory Pattern Pattern 40

Slide 41

Slide 41 text

Lab.

Slide 42

Slide 42 text

42 Assignment | What about Work on your Assignment 06

Slide 43

Slide 43 text

CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Winter 2026 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.