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

Dependencies

Slide 3

Slide 3 text

GoF Patterns 21

Slide 4

Slide 4 text

Application 22

Slide 5

Slide 5 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 6

Slide 6 text

jar-download.com 24

Slide 7

Slide 7 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 8

Slide 8 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 9

Slide 9 text

Create a project with Maven support 27

Slide 10

Slide 10 text

Or Add Framework Support 28

Slide 11

Slide 11 text

Maven File and Directories 29

Slide 12

Slide 12 text

POM.xml 30

Slide 13

Slide 13 text

Maven Repository 31

Slide 14

Slide 14 text

Adding a New Dependency 32

Slide 15

Slide 15 text

Right-Click POM.xml 33

Slide 16

Slide 16 text

JFreeChart Display Charts

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

MVN Repository 36

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

An example of a Factory Pattern Pattern 40

Slide 23

Slide 23 text

Lab.

Slide 24

Slide 24 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.