Kein Folientitel - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

Kein Folientitel

Description:

The 'Do-it-yourself' argument ... processes being modelled for IT projects? ... Surveys show that large software projects have a huge probability of failure ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 62
Provided by: vasarelyW
Category:
Tags: folientitel | kein

less

Transcript and Presenter's Notes

Title: Kein Folientitel


1
Last update 24 October 2006
IT Systems Implementation Introduction and
overview
Prof. Dr. Bettina Berendt
Humboldt-Universität zu Berlin, Institut für
Wirtschaftsinformatik http//www.wiwi.hu-berlin.de
/berendt/lehre/2006w/isi/
2
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
3
Organisation of the course
  • http//www.wiwi.hu-berlin.de/berendt/lehre/2006w/
    isi/

4
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
5
Information Systems Science (Wirtschaftsinformatik
)
  • IS as an academic discipline deals with
    information and communication systems in
    institutions (information systems)
  • Information systems are systems of interdependent
    agents humans and machines/programs that
  • are united by a common set of purposes and tasks,
  • decide and act under the constraints of scarce
    resources.
  • Information systems primary aim is to satisfy
    these agents information and communication needs
  • Information technology (IT) systems are part of
    information systems.
  • The tasks and needs depend on the kind of
    institution, e.g.,
  • a company
  • a governmental agency
  • a church, a school, a university
  • a workgroup within a publishing house
  • a group of open source software developers

6
Multiple perspectives
Researchers and practitioners need to
know about
Goal hierarchies, strategies, organisational
structures,
Basic concepts, methods, and tools of
informatics / computer science
Atttitudes, behaviour, etc. of people who use IT
systems
7
Why is it interesting? The job-description
argument
  • You will encounter have to work with IT people.
  • To work with them, you need to understand their
    way of thinking their language!

IS people
8
Why is it interesting? The Do-it-yourself
argument
I need to extract the fifth and seventh column
from this data table, and sort the data by
customer name, and get rid of duplicates ...
HELP!
You can be much more independent! (and save
money in the process)
9
Our courses and modules
  • For all Masters degree courses see
  • http//www.wiwi.hu-berlin.de/berendt/lehre/2006w
    /isi/PlanModuleWI.pdf
  • (Master WI see also the offers by Institut für
    Informatik consult the Studien- and
    Prüfungsordnung for mandatory courses more info
    on the Master WI Web pages hyperlinked at
    http//iwi.wiwi.hu-berlin.de
  • For Diplom degree courses
  • These three basic courses are mandatory
  • IT Systems Implementation (4 points)
  • Database Management (2 points)
  • System Analysis and Design (2 points)
  • choose from the other courses towards a total
    of
  • gt 12 points (BWL Diplom Wahlpflichtfach VWL
    Diplom small WPF) OR
  • gt 14 points (BWL Diplom BBWL VWL Diplom large
    WPF)

10
Basic and advanced / specialized courses and
modules
  • Note The basic courses are also basic for
    Masters students if you wish to go further
    (e.g., for a Masters thesis), specialize by
    taking advanced courses/modules

11
Courses / modules and their dependencies
please consult the course directors Web pages
for details
  • Information Systems and E-Business Contact S.
    Spiekermann, G. Tamm
  • System Analysis and Design (2 V 1 Ü, 5 CP)
  • E-Business Case Studies (2 S, 4 CP)
  • Data Management Contact O. Günther
  • Database Management (2 V 1 Ü, 5 CP)
  • Data Warehouse and Mining (2 V, 3 CP) ! Requires
    Database Management !
  • IT Systems Implementation Contact B. Berendt !
    Requires basic knowledge of Java!
  • IT Systems Implementation (2 V 2 Ü, 6 CP)
  • IT in the Enterprise Contact O. Günther, S.
    Spiekermann, C. Gernert
  • Data Warehouses and Mining (2 V, 3 CP) ! Requires
    Database Management !
  • Seminar Current Issues in IT-Management (2 S, 3
    CP)
  • Geschäftsprozessmodelle (2 S, 3 CP)
  • Knowledge and the Web Contact B. Berendt !
    Requires IT Systems Impl. !
  • Knowledge and the Web (2 V 2 S, 9 CP) NOT
    OFFERED IN 2007 !
  • Advanced Software Engineering Contact B.
    Viehweger
  • Introduction to Software Engineering (2 V 2 Ü,
    6 CP)
  • Seminar Software Engineering (2 S, 3 CP)
  • ? Summer term, Winter term, variousxxx

12
Courses (module parts) offered in this semester
please consult the course directors Web pages
for details
  • Information Systems and E-Business Contact S.
    Spiekermann, G. Tamm
  • System Analysis and Design (2 V 1 Ü, 5 CP)
  • E-Business Case Studies (2 S, 4 CP)
  • Data Management Contact O. Günther
  • Database Management (2 V 1 Ü, 5 CP)
  • Data Warehouse and Mining (2 V, 3 CP)! Requires
    Database Management !
  • IT Systems Implementation Contact B. Berendt !
    Requires basic knowledge of Java!
  • IT Systems Implementation (2 V 2 Ü, 6 CP)
  • IT in the Enterprise
  • Data Warehouses and Mining (2 V, 3 CP) Contact
    O. Günther ! Requires DB Mgt. !
  • Seminar Current Issues in IT-Management Contact
    Gürses, Fabian, Klafft (2 S, 3 CP)
  • Geschäftsprozessmodelle Contact C. Gernert (2
    S, 3 CP)
  • Knowledge and the Web Contact B. Berendt !
    Requires IT Systems Impl. !
  • Knowledge and the Web (2 V 2 S, 9 CP) NOT
    OFFERED IN 2007 !
  • Advanced Software Engineering Contact B.
    Viehweger
  • Introduction to Software Engineering (2 V 2 Ü,
    6 CP)
  • Seminar Software Engineering (2 S, 3 CP)
  • SE Ubiquitäre Information Contact O. Günther

13
Contents of courses
  • For up-to-date information, please visit the
    courses homepages via
  • http//iwi.wiwi.hu-berlin.de/
  • The following slides give an overview of the core
    courses contents.

14
IT Systems Implementation
  • Operating systems / Unix - The environment that
    supports high-level programming (and everything
    else you do with a computer)
  • Object orientation - Principles of modelling and
    program organisation
  • Algorithms and data structures - What objects do
    (apart from passing messages to one another)
  • Communication with other software - How to make
    your programs more powerful
  • For Master WI students, this course is not
    mandatory it is assumed that many of you
    already know programming.

15
What is object orientation? A UML class diagram
of a Student Registration System
16
A Java function for the Student Registration
System
17
UML and Java
18
Database Management
http//www.wiwi.hu-berlin.de/guenther/DB/
  • Data models hierarchical, network, relational.
    SQL
  • Relational integrity rules and normal forms,
    database design
  • Indices, recovery and concurrency
  • Web applications, three-tier architectures
  • Data mining and data warehouses
  • Master WI students will instead take the
    Databases module at the Institute of Computer
    Science (see your coursebook for details)!

19
System Analysis and Design
http//www.wiwi.hu-berlin.de/sspiek/itsd.htm
  • How is IT related to business process and how are
    processes being modelled for IT projects?
  • What models are being used to derive IT strategy
    from Business Maxims?
  • What role does the Enterprise IT Architecture
    play? How can it be investigated and modelled?
  • What does IT Governance look like today and where
    are the challenges?
  • How are investment decisions for IT being made
    and should companies go for home-bread or
    standard solutions?
  • Where does open-source software make sense in the
    business IT environment?
  • What are Web Services and why are they important?
  • What are Enterprise Resource Planning Systems
    (ERP) and what are the issues and challenges
    companies face when implementing them? How does
    EAI relate?
  • What does it mean to implement an ERP system,
    e.g. Oracle E-Business Suite?
  • For Master WI students, this course is part of
    the Information Systems and E-Business mandatory
    module.

20
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
21
The importance of structure in software
  • Large enterprise applications - the ones that
    execute core business applications, and keep a
    company going must be more than just a bunch of
    code modules. They must be structured in a way
    that enables scalability, security, and robust
    execution under stressful conditions, and their
    structure - frequently referred to as their
    architecture - must be defined clearly enough
    that maintenance programmers can (quickly!) find
    and fix a bug that shows up long after the
    original authors have moved on to other projects.
  • Another benefit of structure is that it enables
    code reuse Design time is the easiest time to
    structure an application as a collection of
    self-contained modules or components.
  • (from http//www.omg.org/gettingstarted/what_is_um
    l.htm )

22
The role of modelling in software development
  • Modeling is the designing of software
    applications before coding. Modeling is an
    essential Part of large software projects, and
    helpful to medium and even small projects as
    well.
  • A model plays the analogous role in software
    development that blueprints and other plans (site
    maps, elevations, physical models) play in the
    building of a skyscraper. Using a model, those
    responsible for a software development project's
    success can assure themselves that business
    functionality is complete and correct, end-user
    needs are met, and program design supports
    requirements for scalability, robustness,
    security, extendibility, and other
    characteristics, before implementation in code
    renders changes difficult and expensive to make.
  • (from http//www.omg.org/gettingstarted/what_is_um
    l.htm )

23
Modelling a system (in analysis and/or design)
Some general remarks
  • Every system, computer program, etc. has two
    fundamental ingredients
  • Static features (data, documents, users, )
  • Dynamic features (processes, activities,
    events, behaviours, )
  • Models need to represent these two types of
    features
  • Models (at least in computer science /
    information systems) are semi-formal and
    therefore have a syntax a set of language
    elements and rules for combining them
  • A model is, by definition, an abstraction ?
  • Models often focus on specific aspects of a whole
    system
  • Models start from a specific perspective on the
    world

24
Different models, different perspectives
Preliminaries
  • Running example an electronic Student
    Registration System (SRS). In this system,
  • students can register for a course,
  • students can drop a course,
  • lecturers can post final semester grades for a
    given course,
  • everybody can view the schedule of classes,
  • First, we need to make an important distinction

25
Perspective / start point 1 the process
A course
registers for
A student (the real user)
  • ARIS (architecture of integrated information
    systems) focuses on (usually real-world,
    business-related) processes.
  • It models them as eEPKs (extended event-driven
    process chains)
  • ARIS is treated in detail in System Analysis and
    Design.

26
The ARIS model in detail
key
27
Perspective / start point 2 the data
  • ERM (entity-relationship models) focus on the
    data and their relations.
  • They are a key modelling language for database
    design
  • ERM are treated in detail in Database
    Management.

course
student
28
Perspective / start point 3 agents / objects
that exist and communicate via messages ? an
integrated view
  • Object-oriented modelling treats data and
    processes in an integrated fashion
  • UML (Unified Modeling Language) offers different
    diagram types for describing
  • the real-world users,
  • The data representing them
  • The other data
  • The processes / behaviours associated with these
    data
  • So you can think of these objects as agents
    with content behaviour
  • BUT need to start by modelling the objects ? I
    chose a data-centric diagram as representative
    (for simplicity, only student is modelled in
    detail)

29
Object-oriented modelling and UML
  • Surveys show that large software projects have a
    huge probability of failure ... modeling is the
    only way to visualize your design and check it
    against requirements before your crew starts to
    code.
  • The OMG's Unified Modeling Language (UML) helps
    you specify, visualize, and document models of
    software systems, including their structure and
    design, in a way that meets all of these
    requirements. (You can use UML for business
    modeling and modeling of other non-software
    systems too.)
  • Using any one of the large number of UML-based
    tools on the market, you can analyze your future
    application's requirements and design a solution
    that meets them, representing the results using
    UML's twelve standard diagram types.
  • (from http//www.omg.org/gettingstarted/what_is_um
    l.htm )

30
Diagram types in UML
Implementation view
Structural view
class diagrams
component diagrams
object diagrams
sequence diagrams
collaboration diagrams
deployment diagrams
statechart diagrams
activity diagrams
Behavioural view
Environment view
(Overview diagram from Alhir, p. 117)
31
Example A UML class diagram
32
What is object orientation, and what is it good
for? with a focus on object-oriented programming
  • The goal of a programming language is for a
    programmer to describe the solution to a problem
    to the computer, solutions which are helpful for
    a number of users who will use the program or
    refine it further. Its the computers job to
    execute this solution. Object orientation (OO)
    is a means of organizing the computer program
    that is going to solve a given problem. We solve
    a problem by creating a model of objects that
    exist in the real world.
  • (Lervik Havdal, Java the UML Way, p. 5)
  • Object orientation provides better concepts
    and tools to model and represent the real world
    as closely as possible.
  • (Parsaye, K., Chignell, M., Khoshafian, S.,
    Wong, H. (1989). Intelligent Databases. NY
    Wiley p. 102)
  • The result is that the normal radical
    transformation from system requirements (defined
    in users terms) to system specification (defined
    in computer terms) is greatly reduced.
  • (Ledbetter Cox, 1985, cited after Parsaye et
    al., ibid.)

33
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
34
Why Java?
  • Java is architecture neutral
  • Java provides rich functionality for the Web
    (applets, Web Service programming)
  • Java provides one-stop shopping GUIs, database
    interfaces, ...
  • Java is heavily object-oriented
  • Java has advantages over other object-oriented
    languages
  • Java is an open standard
  • Java is freely available!

35
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
36
The operating system UNIX
  • UNIX development started in the late 1960s at
    Bell Labs
  • Development continued in a highly dynamic
    fashion, especially in the university context
  • A main reason for this was that this OS was free
    and open
  • Until 1973, the source code was ported nearly
    completely into the programming language C, which
    made it possible to port ( translate) UNIX to
    practically all computer architectures
  • The first commercial version was released in
    1975 purely commercial distribution since 1984
    (System V)
  • The operating system family has experienced a
    large boost by the development of Linux (since
    1991) and the GNU tools (since 1985)
  • GNU/Linux is under the GPL licence ? It is and
    will remain free and open software
  • The UNIX command line interface offers you a
    simple language (and programming opportunities)
    for a myriad of tasks youll be surprised how
    often you can do without a special-purpose
    commercial program!

37
UNIX and Unices
  • Today, UNIX (or Unix) denotes a family of
    operating systems, including for example
  • Solaris / SunOS (Sun Microsystems)
  • (originally two OSs, now two names for one OS)
  • Linux (free software directly from the Internet
    or in a distribution, such as SuSE, Red Hat,
    Debian) (for PCs and a wide range of other
    platforms on a PC, it can run in parallel with
    Windows)
  • For more information on Linux, see e.g.
  • http//www.fsf.org/, the Free Software
    Foundations Web site (GNU)
  • http//www.linux.org, the not-for-profit business
    Linux Online
  • http//www.sourceforge.net, the world's largest
    Open Source software development website
  • http//www.suse.com/ SuSE Linux (a commercial
    Linux distrubution)
  • http//www.knoppix.de a ready-to-run Linux system
    from one CD

38
An example screenshot illustrating the
different interface options
In this shell, I am working on the local computer.
  • These three windows are
  • application program GUIs

This is a task bar as in Windows.
In this shell, I am working on a remote computer.
39
Agenda
Organisation of the course
The context Information Systems
Why object orientation?
Why Java?
Why Unix?
What you should already know about Java
40
Outline
  • General structure of Java programs how to run a
    program
  • Language basics
  • Classes

41
Example 1
File RunTest.java
  • public class RunTest
  • public static void main(String args)
  • System.out.println(Hello world)

42
General structure of Java programs
  • Optional declaration of a package name
  • Optional (needed if you want to use classes that
    dont belong to java.lang) import statements
  • Definition of as many classes as you need
  • Definition of a class with a main method as the
    programs starting point
  • Note In general, each class should be in a
    separate file!

43
Example
  • package test // class belongs to the package
    test
  • import java.util. // use the classes from
    java.util
  • public class Test // class name
  • // variables
  • // constructors
  • // methods incl. public static void
    doSomething()
  • package test
  • public class RunTest
  • public static void main(String args)
  • System.out.println(Hello world)
  • Test.doSomething()

File Test.java
File RunTest.java
44
Compiling and running a Java application From
the command line
  • From the command line (MS DOS window or Unix
    shell) compile the program
  • javac MyProgram.java
  • This generates the file MyProgram.class. Then run
    it
  • java MyProgram optional command line
    arguments

45
Language basics Statements
  • Instructions, expressions, declarations, method
    calls, etc. are finished by a semicolon. Ex.
  • int i
  • int j 1
  • String s This is a string."
  • java.lang.System.out.println(s)
  • // or just System.out.println(s)

46
Language basics Data types
  • There are two kinds of data types
  • Simple / primitive data types
  • User-defined types
  • Classes defined in the JDK (see
    http//java.sun.com/j2se/1.5.0/docs/api/)
  • Your own classes
  • Instances of a data type are
  • Simple data types values (e.g., 3, 4.5, a)
  • Classes objects

47
Simple data types
  • Integers of various lengths / value ranges byte,
    short, int, long
  • Floating point numbers of various lengths / value
    ranges float, double
  • Truth values boolean
  • Single characters (Unicode) char
  • Strings of characters are instances of the String
    class (a kind of hybrid between a built-in type
    and a class, see later in the lecture)
  • For each primitive type, there is a wrapper class
    (e.g., Integer, Float) that encapsulates values
    of these variables, and that allows the
    programmer to perform class operations on them
  • see http//java.sun.com/j2se/1.5.0/docs/api/

48
Arrays
  • Arrays are lists, matrices, etc. of elements of a
    given type
  • This type can be simple e.g., int
    myIntegerList
  • The type can also be a class e.g., Test
    myTestMatrix
  • Arrays are one-dimensional or multi-dimensional.
    The number of square bracket pairs specifies the
    dimension.
  • Java treats arrays as objects.
  • ? They have to be created with new, ex.
  • String myStringMatrix new String23
  • creates a 2-dimensional String array of size 2
    3
  • Note The first element has the index number 0!
  • ? In the example, you can address
  • myStringMatrix00,
  • but you will get an ArrayIndexOutOfBoundsException
    if you try to address myStringMatrix20
    (etc.)

49
Accessing arrays setting and getting values
  • Setting values
  • Ex. 1 an array defined as
  • int MyIntegerList new int5 initialise by
  • for (int i 0 i lt MyIntegerList.length i)
  • MyIntegerListi i
  • Ex. 2 and 3 Declaration and definition/initialisa
    tion in one statement
  • String info1 "abc", "def", "ghi"
  • String info2 info1
  • Getting values
  • String firstWord info22

50
Control structures sequence
  • A sequence is created by ordering statements,
    separated by semicolons. Example
  • int i
  • int j 1
  • String s This is a string."
  • System.out.println(s)

51
Control structures decision (1)
  • if ( condition )
  • // do this if the condition is true
  • instruction(s)
  • else // note the else part is optional
  • instruction(s)
  • Note In these slides,italics in code notation
    are used to denote replace this by a specific
    condition, instruction, etc.

52
Control structures decision (2)
  • A shorthand notation that is useful if the
    conditions are that a variable of type byte,
    char, short, int or long has certain values
  • switch (variable)
  • case val1
  • instruction(s)
  • break // optional. If you omit break, all
    the // following instructions are executed too
  • case val2
  • instruction(s)
  • break // optional
  • case valn
  • instruction(s)
  • break // optional
  • default
  • instruction(s)

53
Control structures loops
  • while ( condition )
  • instruction(s)
  • do
  • instruction(s)
  • while ( condition )
  • for (initial test increment)
  • instruction(s)

54
Reserved words
  • abstract, boolean, break, byte, byvalue, case,
    cast, catch,char, cast, const, continue, default,
    do, double, else, extends, false, final, finally,
    float, for, future, generic, goto, if,
    implements, import, inner, instanceof, int,
    interface, long, native, new, null, operator,
    outer, package, private, protected, public, rest,
    return, short, static, super, switch,
    synchronized, this, throw, throws, transient,
    true, try, var, void, volatile, while

55
Classes
  • Declaration of a class
  • keyword class, followed by the class name
  • A block that contains the variables (attributes),
    constructors, and methods belonging to the class
  • ex.
  • class Person // remember in file Person.java
  • // variables
  • private String lastName
  • private String firstName
  • private int age

56
Class example (contd. 1)
  • // constructor
  • public Person(String n, String v, int a)
  • lastName n
  • firstName v
  • age a
  • // methods for setting attribute values
  • public void setName(String n, String v)
  • lastName n
  • firstName v
  • public void setAge(int a)
  • age a

57
Class example (contd. 2)
  • // methods for querying the attributes values
  • public String getLastName()
  • return lastName
  • public String getFirstName()
  • return firstName
  • public int getAge()
  • return age
  • // other methods (just a dummy example!)
  • public void doSomethingInteresting (int x, String
    s)
  • instructions
  • // end class Person

58
Visibility of object features (attributes and
methods) in Java
  • Visibility which other objects / which other
    code can access and (for attributes) modify
    values?
  • private only visible to the class itself
  • public visible to everyone
  • protected visible to the class and all
    subclasses
  • Unspecified or omitted visible to all classes in
    the same package

59
Instantiating a class / creating an object using
a class / sending messages to an object
  • You can instantiate a class by invoking the new
    operator with one of the constructors of the
    class
  • Person p new Person("Meier", "Peter", 25)
  • You can use the functionality of that class by
    sending messages to its instances / to objects
    you have created. Messages are invocations of the
    methods of the class
  • String s p.getName()

60
Inheritance
  • class SubClass extends SuperClass //...
  • All classes in Java are part of one hierarchy.
    The top class is Object.

61
... just to finish off this lecture in a really
geeky way ...
  • Welcome
  • to an exciting journey!
Write a Comment
User Comments (0)
About PowerShow.com