Top Banner
©2007 · Georges Merx and Ronald J. Norman Slide 1 Chapter 1 Chapter 1 Introduction to Introduction to Java in the Java in the Context of Context of Software Software Engineering Engineering
22

©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

Dec 29, 2015

Download

Documents

Audrey Kennedy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 1

Chapter 1Chapter 1

Introduction to Java Introduction to Java in the Context of in the Context of

Software Software EngineeringEngineering

Page 2: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 2

AgendaAgenda

• Introduction to Java– Object-Oriented Member of the

C-Language Family

• Introduction to Software Engineering– Extended Unified Process

Methodology

Page 3: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 3

IntroductionIntroduction

• The fundamentals of Java programming in the context of – Object-oriented software

engineering– Unified-Process-based software

development methodology

• Delivering projects…

Page 4: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 4

Unified Modeling LanguageUnified Modeling Language

• Standard modeling language for software application design – Object Management Group (OMG)

standard• www.omg.org and www.uml.org

• Use of UML to emphasize the concept of visual modeling– Activity diagrams to visualize the

“learning layout” of each chapter

Page 5: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 5

Learning ObjectivesLearning Objectives

• UML Activity Diagrams illustrate the elements of learning in each chapter

Page 6: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 6

Software Engineering SkillsSoftware Engineering Skills

• Learning connections visual in each chapter to point out diverse, interdisciplinary skills development– Technical, organizational,

communication, and leadership skills

– Understanding of process-related issues

Page 7: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 7

Learning ConnectionsLearning Connections

Page 8: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 8

Learning ModulesLearning Modules

• Object-orientation

• Extended Unified Process Methodology

• Iterations

Page 9: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 9

Welcome to JavaWelcome to Java

• High-level English-like syntax– Statements– Keywords– Structural elements– Program logic (semantics)

• Example Java statement:String response =

JOptionPane.showInputDialog (“Enter an integer value”);

Page 10: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 10

Java ExpressionsJava Expressions

An expression is a variable, a method call, or a combination of subexpressins joined by operators

• x• Math.sin(x)• x + Math.sin(x)• x++• x == y && (z >0 || w > 0)

Page 11: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 11

Java StatementsJava Statements

A statement is one of the following:• Expression ending with “;”• Branch (if, switch) and loop (while,

for, do) and nonlinear control flow: break and continue

• Return statement• Throw statement• Block• Try block

Page 12: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 12

Software EngineeringSoftware Engineering

• Life-cycle methodology– Formal: unified– Agile: extreme programming, Scrum– References

• www-306.ibm.com/software/awdtools/rup • www.controlchaos.com

• Object-orientation• Process-centric– Use cases– Functional and supporting disciplines– Architecture-driven

Page 13: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 13

Life-Cycle PerspectiveLife-Cycle Perspective

Page 14: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 14

The Java Programming The Java Programming LanguageLanguage

• Developed by Sun Microsystems (JCP)– Ref. www.java.sun.com

• Member of the C-family of programming languages• Highly portable

– Available on many platforms– Available for client, server, mobile systems

• Object-oriented– 5 data types (primitives, array, class, interface, null)– Includes eight primitive types

• Supports modern technology features– Multi-threading– Security– Multimedia– Networking

• Based on design patterns– Separation of concerns– Low-coupling; high-cohesion

Page 15: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 15

Methodology PreviewMethodology Preview

• Book focused on formal methodology– Agile choices should be made on the basis of

knowing the formal approach (UP)

• (Rational) Unified Process– Formal methodology– Focus on process,

documentation, iterative approach, end-to-end approach

• Agile variations– Stakeholder involvement– Lighter-weight processes– Focus on adaptability– Small, experienced teams

Page 16: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
Page 17: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 17

Functional DisciplinesFunctional Disciplines• Concept: initial concept development and

business justification• Analysis: formal requirements analysis• Design: component design, class hierarchy,

and creation of a system architecture• Implementation: component development and

unit test• Integration: component integration and

integration test• Testing: all aspects of testing the developed

components• Certification: acceptance testing and release

certification• Deployment: roll-out to customers• Support and Maintenance: incident tracking

and management; new releases (updates, upgrades) – planning for follow-on product(s)

Page 18: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 18

Support DisciplinesSupport Disciplines

• Project management: deliverable, deadline, and resource management

• Inspections and validation: software quality assurance practices

• Configuration management: management of all intellectual property

• Documentation: all user and programmer documents

• Technical marketing plan: product marketability, e.g. competitive position; unique selling propositions; pricing; etc.

Page 19: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 19

IterationsIterations• Breaking the project

into logically complete sub-projects– Specified duration

• Iterative adjustments

Page 20: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 20

Position in ProcessPosition in Process

• The Conceptphase addressesthe business planning activities of a project

• Key deliverable: Business Plan– Initial time and resource planning– Project scope and focus– Justification and budget– Approval to proceed

Page 21: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 21

Domain ModelDomain Model

• From use case model to design model

Page 22: ©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.

©2007 · Georges Merx and Ronald J. Norman Slide 22

Project ExamplesProject Examples

• The VotingProgram– Develop a simple voting

program

– Develop a Java solution for an interior design company