Download Software Engineering with Java - Computer Science & Engineering

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
The Big Picture
of Software Development
Glenn Blank
Professor of Computer Science
Lehigh University
National Trends

The pipeline for women and minorities entering
computer science (CS) and information technology (IT)
is shrinking, at a time when the projected demand
for IT professionals is growing


“We must take direct action to attract and retain more
women to computing at all points in the pipeline (i.e.,
K-12, undergraduate, graduate, faculty and industry)…”



Camp, 1997, 1999, Cohoon, 2002
Camp 1999
Do you agree? What does this situation mean for you?
That’s why there’s Launch-IT!
Creating Software is like
Building a House

1.
2.
3.
4.



When building a house, the first thing you do is:
Buy some lumber and nails to frame it
Dig a hole for the foundation
Get a loan from a bank to pay for it
None of the above
First, contractor figures out what the customer wants!
Next, architect designs a blueprint
Next… well, why don’t you figure it out?
How is creating software like
building a house?








Figure out what customer wants: Requirements
Sketch a plan: Conceptual design
Blueprint: Architectural design
Get a loan: Cost analysis/risk assessment
Subcontractors: Team with specialists; outsource
Build it: Implementation
Inspect and fix problems: Testing
Maintenance and remodeling: Maintenance
(new releases and versions)
Multimedia about
software engineering
Objects

Software objects model real-world objects


For example, trees, cars, ATMs
Objects are “natural”

We interact with them all the time
(vs. lines of code or functions)
Objects and Classes



Objects are categorized by their type, or class
An object is an instance of a class
A software object has a current state and a set
of possible behaviors

Attributes describe properties of a class of objects


A car has an make, model, color, etc.
Methods perform behaviors of a class of objects

A car can start, accelerate, reverse, park, etc.
Objects and Classes example

Object: Sue (Class: person)
Attributes: height (5’), hairColor (blond), eyeColor (blue)
 Methods: getHeight, getHairColor, getEyeColor,
setHeight, setHairColor, setEyeColor


Object: Mike (Class: person)
Attributes: height (6’), hairColor (black), eyeColor (hazel)
 Methods: getHeight, getHairColor, getEyeColor,
setHeight, setHairColor, setEyeColor



What do object instances have in common?
How are objects instances different?
Multimedia about
Classes and objects
Everyone gets a CIMEL login
CIMEL means
Constructive Inquiry-Based Multimedia E-Learning
JVM

Java programming language compiler (javac)


A program that translates Java language source code
into the Java Virtual Machine (JVM) byte codes
JVM – Java Virtual Machine
A program that interprets and executes byte codes
 Can interpret and execute Java byte codes on any
computer platform (PC, Mac, Unix)

Integrated Development
Environment
 IDE
 An
environment where programmers
develop software
 Eclipse is an industrial strength IDE
 DrJava is a novice-oriented IDE
Object Oriented Software Design

Design a system as a set of classes



OO software encourages software reuse



Expresses as a class diagram
Unified Modeling Language (UML) is a standard
For example, reuse input/output, graphics classes
Java comes with a large library of reusable classes
Why is reuse a good idea?



Avoid re-inventing the wheel—cuts costs
Lets developers focus on new things
Reliability: reusable software gets tested more