freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · web view2018....

199
All rights reserved for freedom team www.freedomjava.weebly.com Programming language A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms. The earliest programming languages preceded the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos. [1] Thousands of different programming languages have been created, mainly in the computer field, and still many are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform), while other languages utilize other forms of program specification such as the declarative form (i.e., the desired result is specified, not how to achieve it). The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning). Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard), while other languages (such as Perl) Page 1

Upload: others

Post on 17-Jun-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Programming languageA programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms.

The earliest programming languages preceded the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands of different programming languages have been created, mainly in the computer field, and still many are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform), while other languages utilize other forms of program specification such as the declarative form (i.e., the desired result is specified, not how to achieve it).

The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning). Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard), while other languages (such as Perl) have a dominant implementation that is treated as a reference.

DefinitionsA programming language is a notation for writing programs, which are specifications of a computation or algorithm. Some, but not all, authors restrict the term "programming language" to those languages that can express all possible algorithms. Traits often considered important for what constitutes a programming language include:

Function and targetA computer programming language is a language used to write computer

programs, which involve a computer performing some kind of computation or algorithm and possibly control external devices such as printers, disk

Page 1

Page 2: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

drives, robots, and so on. For example PostScript programs are frequently created by another program to control a computer printer or display. More generally, a programming language may describe computation on some, possibly abstract, machine. It is generally accepted that a complete specification for a programming language includes a description, possibly idealized, of a machine or processor for that language. In most practical contexts, a programming language involves a computer; consequently, programming languages are usually defined and studied this way. Programming languages differ from natural languages in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate instructions to machines.Abstractions

Programming languages usually contain abstractions for defining and manipulating data structures or controlling the flow of execution. The practical necessity that a programming language support adequate abstractions is expressed by the abstraction principle; this principle is sometimes formulated as recommendation to the programmer to make proper use of such abstractions.

Expressive powerThe theory of computation classifies languages by the computations

they are capable of expressing. All Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL-92 and Charity are examples of languages that are not Turing complete, yet often called programming languages.

Markup languages like XML, HTML or troff, which define structured data, are not usually considered programming languages. Programming languages may, however, share the syntax with markup languages if a computational semantics is defined. XSLT, for example, is a Turing complete XML dialect. Moreover, LaTeX, which is mostly used for structuring documents, also contains a Turing complete subset.

The term computer language is sometimes used interchangeably with programming language. However, the usage of both terms varies among authors, including the exact scope of each. One usage describes

Page 2

Page 3: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

programming languages as a subset of computer languages. In this vein, languages used in computing that have a different goal than expressing computer programs are generically designated computer languages. For instance, markup languages are sometimes referred to as computer languages to emphasize that they are not meant to be used for programming.

Another usage regards programming languages as theoretical constructs for programming abstract machines, and computer languages as the subset thereof that runs on physical computers, which have finite hardware resources. John C. Reynolds emphasizes that formal specification languages are just as much programming languages as are the languages intended for execution. He also argues that textual and even graphical input formats that affect the behavior of a computer are programming languages, despite the fact they are commonly not Turing-complete, and remarks that ignorance of programming language concepts is the reason for many flaws in input formats.

History

Early developments

The first programming languages designed to communicate instructions to a computer were written in the 1950s. An early high-level programming language to be designed for a computer was Plankalkül, developed for the German Z3 by Konrad Zuse between 1943 and 1945. However, it was not implemented until 1998 and 2000.

John Mauchly's Short Code, proposed in 1949, was one of the first high-level languages ever developed for an electronic computer. Unlike machine code, Short Code statements represented mathematical expressions in understandable form. However, the program had to be translated into machine code every time it ran, making the process much slower than running the equivalent machine code.

Page 3

Page 4: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

At the University of Manchester, Alick Glennie developed Autocode in the early 1950s. A programming language, it used a compiler to automatically convert the language into machine code. The first code and compiler was developed in 1952 for the Mark 1 computer at the University of Manchester and is considered to be the first compiled high-level programming language.

The second autocode was developed for the Mark 1 by R. A. Brooker in 1954 and was called the "Mark 1 Autocode". Brooker also developed an autocode for the Ferranti Mercury in the 1950s in conjunction with the University of Manchester. The version for the EDSAC 2 was devised by D. F. Hartley of University of Cambridge Mathematical Laboratory in 1961. Known as EDSAC 2 Autocode, it was a straight development from Mercury Autocode adapted for local circumstances, and was noted for its object code optimisation and source-language diagnostics which were advanced for the time. A contemporary but separate thread of development, Atlas Autocode was developed for the University of Manchester Atlas 1 machine.

Another early programming language was devised by Grace Hopper in the US, called FLOW-MATIC. It was developed for the UNIVAC I at Remington Rand during the period from 1955 until 1959. Hopper found that business data processing customers were uncomfortable with mathematical notation, and in early 1955, she and her team wrote a specification for an English programming language and implemented a prototype. The FLOW-MATIC compiler became publicly available in early 1958 and was substantially complete in 1959. Flow-Matic was a major influence in the design of COBOL, since only it and its direct descendent AIMACO were in actual use at the time. The language Fortran was developed at IBM in the mid '50s, and became the first widely used high-level general purpose programming language.

Page 4

Page 5: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Refinement

The period from the 1960s to the late 1970s brought the development of the major language paradigms now in use, though many aspects were refinements of ideas in the very first Third-generation programming languages:

APL introduced array programming and influenced functional programming.

PL/I, originally called NPL, was designed in the early 1960s to incorporate the best ideas from FORTRAN and COBOL with block structures taken from ALGOL.

In the 1960s, Simula was the first language designed to support object-oriented programming; in the mid-1970s, Smalltalk followed with the first "purely" object-oriented language.

C was developed between 1969 and 1973 as a system programming language, and remains popular.

Prolog, designed in 1972, was the first logic programming language. In 1978, ML built a polymorphic type system on top of Lisp,

pioneering statically typed functional programming languages.

Each of these languages spawned an entire family of descendants, and most modern languages count at least one of them in their ancestry.

The 1960s and 1970s also saw considerable debate over the merits of structured programming, and whether programming languages should be designed to support it. Edsger Dijkstra, in a famous 1968 letter published in the Communications of the ACM, argued that GOTO statements should be eliminated from all "higher level" programming languages.

The 1960s and 1970s also saw expansion of techniques that reduced the footprint of a program as well as improved productivity of the programmer and user. The card deck for an early 4GL was a lot smaller for the same functionality expressed in a 3GL deck.

Page 5

Page 6: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Consolidation and growth

A selection of textbooks that teach programming, in languages both popular and obscure. These are only a few of the thousands of programming languages and dialects that have been designed in history.

The 1980s were years of relative consolidation. C++ combined object-oriented and systems programming. The United States government standardized Ada, a systems programming language derived from Pascal and intended for use by defense contractors. In Japan and elsewhere, vast sums were spent investigating so-called "fifth generation" languages that incorporated logic programming constructs. The functional languages community moved to standardize ML and Lisp. Rather than inventing new paradigms, all of these movements elaborated upon the ideas invented in the previous decade.

One important trend in language design for programming large-scale systems during the 1980s was an increased focus on the use of modules, or large-scale organizational units of code. Modula-2, Ada, and ML all developed notable module systems in the 1980s, although other languages, such as PL/I, already had extensive support for modular programming. Module systems were often wedded to generic programming constructs.

The rapid growth of the Internet in the mid-1990s created opportunities for new languages. Perl, originally a Unix scripting tool first released in 1987, became common in dynamic websites. Java came to be used for server-side programming, and bytecode virtual machines became popular again in commercial settings with their promise of "Write once, run anywhere" (UCSD Pascal had been popular for a time in the early 1980s). These developments were not fundamentally novel, rather they were refinements to existing languages and paradigms, and largely based on the C family of programming languages.

Page 6

Page 7: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Programming language evolution continues, in both industry and research. Current directions include security and reliability verification, new kinds of modularity (mixins, delegates, aspects), and database integration such as Microsoft's LINQ.

The 4GLs are examples of languages which are domain-specific, such as SQL, which manipulates and returns sets of data rather than the scalar values which are canonical to most programming languages. Perl, for example, with its 'here document' can hold multiple 4GL programs, as well as multiple JavaScript programs, in part of its own perl code and use variable interpolation in the 'here document' to support multi-language programming.

Elements

All programming languages have some primitive building blocks for the description of data and the processes or transformations applied to them (like the addition of two numbers or the selection of an item from a collection). These primitives are defined by syntactic and semantic rules which describe their structure and meaning respectively.

Syntax

A programming language's surface form is known as its syntax. Most programming languages are purely textual; they use sequences of text including words, numbers, and punctuation, much like written natural languages. On the other hand, there are some programming languages which are more graphical in nature, using visual relationships between symbols to specify a program.

The syntax of a language describes the possible combinations of symbols that form a syntactically correct program. The meaning given to a combination of symbols is handled by semantics (either formal or hard-coded in a reference implementation). Since most languages are textual, this article discusses textual syntax.

Page 7

Page 8: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Programming language syntax is usually defined using a combination of regular expressions (for lexical structure) and Backus–Naur Form (for grammatical structure). Below is a simple grammar, based on Lisp:

expression ::= atom | listatom ::= number | symbolnumber ::= [+-]?['0'-'9']+symbol ::= ['A'-'Z''a'-'z'].*list ::= '(' expression* ')'

This grammar specifies the following:

an expression is either an atom or a list; an atom is either a number or a symbol; a number is an unbroken sequence of one or more decimal digits,

optionally preceded by a plus or minus sign; a symbol is a letter followed by zero or more of any characters

(excluding whitespace); and a list is a matched pair of parentheses, with zero or more expressions

inside it.

The following are examples of well-formed token sequences in this grammar: 12345, () and (a b c232 (1)).

Not all syntactically correct programs are semantically correct. Many syntactically correct programs are nonetheless ill-formed, per the language's rules; and may (depending on the language specification and the soundness of the implementation) result in an error on translation or execution. In some cases, such programs may exhibit undefined behavior. Even when a program is well-defined within a language, it may still have a meaning that is not intended by the person who wrote it.

Using natural language as an example, it may not be possible to assign a meaning to a grammatically correct sentence or the sentence may be false:

"Colorless green ideas sleep furiously." is grammatically well-formed but has no generally accepted meaning.

Page 8

Page 9: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

"John is a married bachelor." is grammatically well-formed but

expresses a meaning that cannot be true.

The following C language fragment is syntactically correct, but performs operations that are not semantically defined (the operation *p >> 4 has no meaning for a value having a complex type and p->im is not defined because the value of p is the null pointer):

complex *p = NULL;complex abs_p = sqrt(*p >> 4 + p->im);

If the type declaration on the first line were omitted, the program would trigger an error on compilation, as the variable "p" would not be defined. But the program would still be syntactically correct, since type declarations provide only semantic information.

The grammar needed to specify a programming language can be classified by its position in the Chomsky hierarchy. The syntax of most programming languages can be specified using a Type-2 grammar, i.e., they are context-free grammars. Some languages, including Perl and Lisp, contain constructs that allow execution during the parsing phase. Languages that have constructs that allow the programmer to alter the behavior of the parser make syntax analysis an undecidable problem, and generally blur the distinction between parsing and execution. In contrast to Lisp's macro system and Perl's BEGIN blocks, which may contain general computations, C macros are merely string replacements, and do not require code execution.

Semantics

The term Semantics refers to the meaning of languages, as opposed to their form (syntax).

Static semantics

The static semantics defines restrictions on the structure of valid texts that are hard or impossible to express in standard syntactic formalisms.[2] For

Page 9

Page 10: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

compiled languages, static semantics essentially include those semantic rules that can be checked at compile time. Examples include checking that every identifier is declared before it is used (in languages that require such declarations) or that the labels on the arms of a case statement are distinct.[42] Many important restrictions of this type, like checking that identifiers are used in the appropriate context (e.g. not adding an integer to a function name), or that subroutine calls have the appropriate number and type of arguments, can be enforced by defining them as rules in a logic called a type system. Other forms of static analyses like data flow analysis may also be part of static semantics. Newer programming languages like Java and C# have definite assignment analysis, a form of data flow analysis, as part of their static semantics.

Dynamic semantics

Main article: Semantics of programming languages

Once data has been specified, the machine must be instructed to perform operations on the data. For example, the semantics may define the strategy by which expressions are evaluated to values, or the manner in which control structures conditionally execute statements. The dynamic semantics (also known as execution semantics) of a language defines how and when the various constructs of a language should produce a program behavior. There are many ways of defining execution semantics. Natural language is often used to specify the execution semantics of languages commonly used in practice. A significant amount of academic research went into formal semantics of programming languages, which allow execution semantics to be specified in a formal manner. Results from this field of research have seen limited application to programming language design and implementation outside academia.

Type system

Main articles: Data type, Type system, and Type safety

Page 10

Page 11: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

A type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. The goal of a type system is to verify and usually enforce a certain level of correctness in programs written in that language by detecting certain incorrect operations. Any decidable type system involves a trade-off: while it rejects many incorrect programs, it can also prohibit some correct, albeit unusual programs. In order to bypass this downside, a number of languages have type loopholes, usually unchecked casts that may be used by the programmer to explicitly allow a normally disallowed operation between different types. In most typed languages, the type system is used only to type check programs, but a number of languages, usually functional ones, infer types, relieving the programmer from the need to write type annotations. The formal design and study of type systems is known as type theory.

Typed versus untyped languages

A language is typed if the specification of every operation defines types of data to which the operation is applicable, with the implication that it is not applicable to other types. For example, the data represented by "this text between the quotes" is a string. In most programming languages, dividing a number by a string has no meaning; most modern programming languages will therefore reject any program attempting to perform such an operation. In some languages the meaningless operation will be detected when the program is compiled ("static" type checking), and rejected by the compiler; while in others, it will be detected when the program is run ("dynamic" type checking), resulting in a run-time exception.

A special case of typed languages are the single-type languages. These are often scripting or markup languages, such as REXX or SGML, and have only one data type—most commonly character strings which are used for both symbolic and numeric data.

In contrast, an untyped language, such as most assembly languages, allows any operation to be performed on any data, which are generally considered

Page 11

Page 12: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

to be sequences of bits of various lengths. High-level languages which are untyped include BCPL and some varieties of Forth.

In practice, while few languages are considered typed from the point of view of type theory (verifying or rejecting all operations), most modern languages offer a degree of typing. Many production languages provide means to bypass or subvert the type system, trading type-safety for finer control over the program's execution (see casting).

Static versus dynamic typing

In static typing, all expressions have their types determined prior to when the program is executed, typically at compile-time. For example, 1 and (2+2) are integer expressions; they cannot be passed to a function that expects a string, or stored in a variable that is defined to hold dates.

Statically typed languages can be either manifestly typed or type-inferred. In the first case, the programmer must explicitly write types at certain textual positions (for example, at variable declarations). In the second case, the compiler infers the types of expressions and declarations based on context. Most mainstream statically typed languages, such as C++, C# and Java, are manifestly typed. Complete type inference has traditionally been associated with less mainstream languages, such as Haskell and ML. However, many manifestly typed languages support partial type inference; for example, Java and C# both infer types in certain limited cases.

Dynamic typing, also called latent typing, determines the type-safety of operations at run time; in other words, types are associated with run-time values rather than textual expressions. As with type-inferred languages, dynamically typed languages do not require the programmer to write explicit type annotations on expressions. Among other things, this may permit a single variable to refer to values of different types at different points in the program execution. However, type errors cannot be automatically detected until a piece of code is actually executed, potentially making debugging

Page 12

Page 13: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

more difficult. Lisp, Perl, Python, JavaScript, and Ruby are dynamically typed.

Weak and strong typing

Weak typing allows a value of one type to be treated as another, for example treating a string as a number. This can occasionally be useful, but it can also allow some kinds of program faults to go undetected at compile time and even at run time.

Strong typing prevents the above. An attempt to perform an operation on the wrong type of value raises an error. Strongly typed languages are often termed type-safe or safe.

An alternative definition for "weakly typed" refers to languages, such as Perl and JavaScript, which permit a large number of implicit type conversions. In JavaScript, for example, the expression 2 * x implicitly converts x to a number, and this conversion succeeds even if x is null, undefined, an Array, or a string of letters. Such implicit conversions are often useful, but they can mask programming errors. Strong and static are now generally considered orthogonal concepts, but usage in the literature differs. Some use the term strongly typed to mean strongly, statically typed, or, even more confusingly, to mean simply statically typed. Thus C has been called both strongly typed and weakly, statically typed.

It may seem odd to some professional programmers that C could be "weakly, statically typed". However, notice that the use of the generic pointer, the void* pointer, does allow for casting of pointers to other pointers without needing to do an explicit cast. This is extremely similar to somehow casting an array of bytes to any kind of datatype in C without using an explicit cast, such as (int) or (char).

Standard library and run-time system

Main article: Standard library

Page 13

Page 14: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Most programming languages have an associated core library (sometimes known as the 'standard library', especially if it is included as part of the published language standard), which is conventionally made available by all implementations of the language. Core libraries typically include definitions for commonly used algorithms, data structures, and mechanisms for input and output.

A language's core library is often treated as part of the language by its users, although the designers may have treated it as a separate entity. Many language specifications define a core that must be made available in all implementations, and in the case of standardized languages this core library may be required. The line between a language and its core library therefore differs from language to language. Indeed, some languages are designed so that the meanings of certain syntactic constructs cannot even be described without referring to the core library. For example, in Java, a string literal is defined as an instance of the java.lang.String class; similarly, in Smalltalk, an anonymous function expression (a "block") constructs an instance of the library's BlockContext class. Conversely, Scheme contains multiple coherent subsets that suffice to construct the rest of the language as library macros, and so the language designers do not even bother to say which portions of the language must be implemented as language constructs, and which must be implemented as parts of a library.

Design and implementation

Programming languages share properties with natural languages related to their purpose as vehicles for communication, having a syntactic form separate from its semantics, and showing language families of related languages branching one from another. But as artificial constructs, they also differ in fundamental ways from languages that have evolved through usage. A significant difference is that a programming language can be fully described and studied in its entirety, since it has a precise and finite definition. By contrast, natural languages have changing meanings given by their users in different communities. While constructed languages are also artificial languages designed from the ground up with a specific purpose,

Page 14

Page 15: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

they lack the precise and complete semantic definition that a programming language has.

Many programming languages have been designed from scratch, altered to meet new needs, and combined with other languages. Many have eventually fallen into disuse. Although there have been attempts to design one "universal" programming language that serves all purposes, all of them have failed to be generally accepted as filling this role. The need for diverse programming languages arises from the diversity of contexts in which languages are used:

Programs range from tiny scripts written by individual hobbyists to huge systems written by hundreds of programmers.

Programmers range in expertise from novices who need simplicity above all else, to experts who may be comfortable with considerable complexity.

Programs must balance speed, size, and simplicity on systems ranging from microcontrollers to supercomputers.

Programs may be written once and not change for generations, or they may undergo continual modification.

Finally, programmers may simply differ in their tastes: they may be accustomed to discussing problems and expressing them in a particular language.

One common trend in the development of programming languages has been to add more ability to solve problems using a higher level of abstraction. The earliest programming languages were tied very closely to the underlying hardware of the computer. As new programming languages have developed, features have been added that let programmers express ideas that are more remote from simple translation into underlying hardware instructions. Because programmers are less tied to the complexity of the computer, their programs can do more computing with less effort from the programmer. This lets them write more functionality per time unit.

Page 15

Page 16: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Natural language processors have been proposed as a way to eliminate the need for a specialized language for programming. However, this goal remains distant and its benefits are open to debate. Edsger W. Dijkstra took the position that the use of a formal language is essential to prevent the introduction of meaningless constructs, and dismissed natural language programming as "foolish". Alan Perlis was similarly dismissive of the idea. Hybrid approaches have been taken in Structured English and SQL.

A language's designers and users must construct a number of artifacts that govern and enable the practice of programming. The most important of these artifacts are the language specification and implementation.

Specification

Main article: Programming language specification

The specification of a programming language is intended to provide a definition that the language users and the implementors can use to determine whether the behavior of a program is correct, given its source code.

A programming language specification can take several forms, including the following:

An explicit definition of the syntax, static semantics, and execution semantics of the language. While syntax is commonly specified using a formal grammar, semantic definitions may be written in natural language (e.g., as in the C language), or a formal semantics (e.g., as in Standard ML and Scheme specifications).

A description of the behavior of a translator for the language (e.g., the C++ and Fortran specifications). The syntax and semantics of the language have to be inferred from this description, which may be written in natural or a formal language.

A reference or model implementation, sometimes written in the language being specified (e.g., Prolog or ANSI REXX). The syntax and

Page 16

Page 17: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

semantics of the language are explicit in the behavior of the reference implementation.

Implementation

Main article: Programming language implementation

An implementation of a programming language provides a way to execute that program on one or more configurations of hardware and software. There are, broadly, two approaches to programming language implementation: compilation and interpretation. It is generally possible to implement a language using either technique.

The output of a compiler may be executed by hardware or a program called an interpreter. In some implementations that make use of the interpreter approach there is no distinct boundary between compiling and interpreting. For instance, some implementations of BASIC compile and then execute the source a line at a time.

Programs that are executed directly on the hardware usually run several orders of magnitude faster than those that are interpreted in software.[citation

needed]

One technique for improving the performance of interpreted programs is just-in-time compilation. Here the virtual machine, just before execution, translates the blocks of bytecode which are going to be used to machine code, for direct execution on the hardware.

Usage

Thousands of different programming languages have been created, mainly in the computing field. Programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness.

Page 17

Page 18: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However, figuratively speaking, computers "do exactly what they are told to do", and cannot "understand" what code the programmer intended to write. The combination of the language definition, a program, and the program's inputs must fully specify the external behavior that occurs when the program is executed, within the domain of control of that program. On the other hand, ideas about an algorithm can be communicated to humans without the precision required for execution by using pseudocode, which interleaves natural language with code written in a programming language.

A programming language provides a structured mechanism for defining pieces of data, and the operations or transformations that may be carried out automatically on that data. A programmer uses the abstractions present in the language to represent the concepts involved in a computation. These concepts are represented as a collection of the simplest elements available (called primitives). Programming is the process by which programmers combine these primitives to compose new programs, or adapt existing ones to new uses or a changing environment.

Programs for a computer might be executed in a batch process without human interaction, or a user might type commands in an interactive session of an interpreter. In this case the "commands" are simply programs, whose execution is chained together. When a language is used to give commands to a software application (such as a Unix shell or other command-line interface) it is called a scripting language.[citation needed]

Measuring language usage

Main article: Measuring programming language popularity

It is difficult to determine which programming languages are most widely used, and what usage means varies by context. One language may occupy the greater number of programmer hours, a different one have more lines of

Page 18

Page 19: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

code, and a third utilize the most CPU time. Some languages are very popular for particular kinds of applications. For example, COBOL is still strong in the corporate data center, often on large mainframes; Fortran in scientific and engineering applications; and C in embedded applications and operating systems. Other languages are regularly used to write many different kinds of applications.

Various methods of measuring language popularity, each subject to a different bias over what is measured, have been proposed:

counting the number of job advertisements that mention the language

the number of books sold that teach or describe the language estimates of the number of existing lines of code written in the

language – which may underestimate languages not often found in public searches

counts of language references (i.e., to the name of the language) found using a web search engine.

Combining and averaging information from various internet sites, langpop.com claims that in 2013 the ten most popular programming languages are (in descending order by overall popularity): C, Java, PHP, JavaScript, C++, Python, Shell, Ruby, Objective-C and C#.

Taxonomies

For more details on this topic, see Categorical list of programming languages.

There is no overarching classification scheme for programming languages. A given programming language does not usually have a single ancestor language. Languages commonly arise by combining the elements of several predecessor languages with new ideas in circulation at the time. Ideas that originate in one language will diffuse throughout a family of related

Page 19

Page 20: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

languages, and then leap suddenly across familial gaps to appear in an entirely different family.

The task is further complicated by the fact that languages can be classified along multiple axes. For example, Java is both an object-oriented language (because it encourages object-oriented organization) and a concurrent language (because it contains built-in constructs for running multiple threads in parallel). Python is an object-oriented scripting language.

In broad strokes, programming languages divide into programming paradigms and a classification by intended domain of use, with general-purpose programming languages distinguished from domain-specific programming languages. Traditionally, programming languages have been regarded as describing computation in terms of imperative sentences, i.e. issuing commands. These are generally called imperative programming languages. A great deal of research in programming languages has been aimed at blurring the distinction between a program as a set of instructions and a program as an assertion about the desired answer, which is the main feature of declarative programming. More refined paradigms include procedural programming, object-oriented programming, functional programming, and logic programming; some languages are hybrids of paradigms or multi-paradigmatic. An assembly language is not so much a paradigm as a direct model of an underlying machine architecture. By purpose, programming languages might be considered general purpose, system programming languages, scripting languages, domain-specific languages, or concurrent/distributed languages (or a combination of these). Some general purpose languages were designed largely with educational goals.

A programming language may also be classified by factors unrelated to programming paradigm. For instance, most programming languages use English language keywords, while a minority do not. Other languages may be classified as being deliberately esoteric or not.

Page 20

Page 21: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Java (programming language)Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2014, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. Java was originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.

The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1991 and first released in 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).

History

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called Oak after an oak tree that stood outside Gosling's office; it went by the name Green later, and was later

Page 21

Page 22: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

renamed Java, from Java coffee, said to be consumed in large quantities by the language's creators.[citation needed] Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation.

Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. With the advent of Java 2 (released initially as J2SE 1.2 in December 1998 – 1999), new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2ME for mobile applications (Mobile Java). J2SE designated the Standard Edition. In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME and Java SE, respectively.

In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. Java remains a de facto standard, controlled through the Java Community Process. At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System. Sun distinguishes between its Software Development Kit (SDK) and Runtime Environment (JRE) (a subset of the SDK); the primary distinction involves the JRE's lack of the compiler, utility programs, and header files.

On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright.

Page 22

Page 23: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Sun's vice-president Rich Green said that Sun's ideal role with regards to Java was as an "evangelist." Following Oracle Corporation's acquisition of Sun Microsystems in 2009–2010, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency". This did not hold Oracle, however, from filing a lawsuit against Google shortly after that for using Java inside the Android SDK (see Google section below). Java software runs on everything from laptops to data centers, game consoles to scientific supercomputers. There are 930 million Java Runtime Environment downloads each year and 3 billion mobile phones run Java. On April 2, 2010, James Gosling resigned from Oracle.

Principles

There were five primary goals in the creation of the Java language:

1. It should be "simple, object-oriented and familiar"2. It should be "robust and secure"3. It should be "architecture-neutral and portable"4. It should execute with "high performance"5. It should be "interpreted, threaded, and dynamic"

Versions

Major release versions of Java, along with their release dates:

JDK 1.0 (January 21, 1996) JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) J2SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011) Java SE 8 (March 18, 2014)

Page 23

Page 24: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Java

Paradigm(s) multi-paradigm: object-oriented, structured, imperative, generic, reflective, concurrentAppeared in 1995Designed by James Gosling and

Sun MicrosystemsDeveloper Oracle CorporationStable release Java Standard Edition 8 (1.8) (March 18, 2014; 3 days ago)Typing discipline Static, strong, safe, nominative, manifestMajor implementations OpenJDK, many othersDialects Generic Java, PizzaInfluenced by Ada 83, C++, C#, Eiffel, Generic Java, Mesa, Modula-3, Oberon, Objective-C, UCSD

Pascal, SmalltalkInfluenced Ada 2005, BeanShell, C#, Clojure, D, ECMAScript, Groovy, J#, JavaScript, Kotlin, PHP,

Python, Scala, Seed7, ValaImplementation language C and C++OS Cross-platform (multi-platform)License GNU General Public License, Java Community ProcessUsual filename extensions .java, .class, .jar

PracticesJava platform

Main articles: Java (software platform) and Java virtual machine

One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to machine code, but they are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets.

Standardized libraries provide a generic way to access host-specific features such as graphics, threading, and networking.

Page 24

Page 25: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

A major benefit of using bytecode is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just-in-Time (JIT) compilers were introduced from an early stage that compile bytecodes to machine code during runtime.

Implementations

See also: Free Java implementations

Oracle Corporation is the current owner of the official implementation of the Java SE platform, following their acquisition of Sun Microsystems on January 27, 2010. This implementation is based on the original implementation of Java by Sun. The Oracle implementation is available for Mac OS X, Windows and Solaris. Because Java lacks any formal standardization recognized by Ecma International, ISO/IEC, ANSI, or other third-party standards organization, the Oracle implementation is the de facto standard.

The Oracle implementation is packaged into two different distributions: The Java Runtime Environment (JRE) which contains the parts of the Java SE platform required to run Java programs and is intended for end-users, and the Java Development Kit (JDK), which is intended for software developers and includes development tools such as the Java compiler, Javadoc, Jar, and a debugger.

OpenJDK is another notable Java SE implementation that is licensed under the GPL. The implementation started when Sun began releasing the Java source code under the GPL. As of Java SE 7, OpenJDK is the official Java reference implementation.

The goal of Java is to make all implementations of Java compatible. Historically, Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support RMI or JNI and had added platform-specific features of their own.

Page 25

Page 26: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun.[24] As a result, Microsoft no longer ships Windows with Java.

Platform-independent Java is essential to Java EE, and an even more rigorous validation is required to certify an implementation. This environment enables portable server-side applications.

Performance

Main article: Java performance

Programs written in Java have a reputation for being slower and requiring more memory than those written in C++.[25][26] However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1,[27] the addition of language features supporting better code analysis (such as inner classes, the StringBuilder class, optional assertions, etc.), and optimizations in the Java virtual machine itself, such as HotSpot becoming the default for Sun's JVM in 2000.

Some platforms offer direct hardware support for Java; there are microcontrollers that can run Java in hardware instead of a software Java virtual machine, and ARM based processors can have hardware support for executing Java bytecode through their Jazelle option.

Automatic memory management

Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the unreachable memory becomes eligible to be freed automatically by the garbage collector. Something similar to a memory leak may still occur if a programmer's code holds a reference to an object that is no longer needed, typically when objects that are no longer needed are stored in containers that are still in use.

Page 26

Page 27: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

If methods for a nonexistent object are called, a "null pointer exception" is thrown.[28][29]

One of the ideas behind Java's automatic memory management model is that programmers can be spared the burden of having to perform manual memory management. In some languages, memory for the creation of objects is implicitly allocated on the stack, or explicitly allocated and deallocated from the heap. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a memory leak occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of smart pointers, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, i.e. those where the memory is still referenced but never used.

Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java.

Java does not support C/C++ style pointer arithmetic, where object addresses and unsigned integers (usually long integers) can be used interchangeably. This allows the garbage collector to relocate referenced objects and ensures type safety and security.

As in C++ and some other object-oriented languages, variables of Java's primitive data types are not objects. Values of primitive types are either stored directly in fields (for objects) or on the stack (for methods) rather than on the heap, as is commonly true for objects (but see escape analysis). This was a conscious decision by Java's designers for performance reasons. Because of this, Java was not considered to be a pure object-oriented programming language. However, as of Java 5.0, autoboxing enables programmers to proceed as if primitive types were instances of their wrapper class.

Page 27

Page 28: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Java contains multiple types of garbage collectors. By default,[citation needed] HotSpot uses the concurrent mark sweep collector, also known as the CMS garbage collector or CMS. However, there are also several other garbage collectors that can be used to manage the heap. For 90% of applications in Java, the CMS garbage collector is sufficient.[30] Oracle aims to replace CMS with the Garbage-first collector (G1).

Syntax

Main article: Java syntax

The syntax of Java is largely derived from C++. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built almost exclusively as an object-oriented language. All code is written inside a class, and everything is an object, with the exception of the primitive data types (i.e. integers, floating-point numbers, boolean values, and characters), which are not classes for performance reasons.

Unlike C++, Java does not support operator overloading or multiple inheritance for classes. This simplifies the language and aids in preventing potential errors and anti-pattern design.

Java uses similar commenting methods to C++. There are three different styles of comments: a single line style marked with two slashes (//), a multiple line style opened with /* and closed with */, and the Javadoc commenting style opened with /** and closed with */. The Javadoc style of commenting allows the user to run the Javadoc executable to compile documentation for the program.

Page 28

Page 29: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Example:

// This is an example of a single line comment using two slashes /* This is an example of a multiple line comment using the slash and asterisk. This type of comment can be used to hold a lot of information or deactivate code, but it is very important to remember to close the comment. */ /** * This is an example of a Javadoc comment; Javadoc can compile documentation * from this text. */ /** Finally, an example of a method written in Java, wrapped in a class. */

package fibsandlies;import java.util.HashMap; public class FibCalculator extends Fibonacci implements Calculator { private static HashMap<Integer, Integer> memoized = new HashMap<Integer, Integer>(); static { memoized.put(1, 1); memoized.put(2, 1); } /** Given a non-negative number FIBINDEX, returns * the Nth Fibonacci number, where N equals FIBINDEX. * @param fibIndex The index of the Fibonacci number * @return The Fibonacci number itself */ @Override public static int fibonacci(int fibIndex) { if (memoized.containsKey(fibIndex)) { return memoized.get(fibIndex); } else { int answer = fibonacci(fibIndex - 1) + fibonacci(fibIndex - 2); memoized.put(fibIndex, answer); return answer; } }}

Page 29

Page 30: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Net BeansNetBeans is an integrated development environment (IDE) for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. It is also an application platform framework for Java desktop applications and others.

The NetBeans IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms supporting a compatible JVM.

The NetBeans Platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans Platform (including the NetBeans IDE itself) can be extended by third party developers.

The NetBeans Team actively support the product and seek future suggestions from the wider community. Every release is preceded by a time for Community testing and feedback.

Page 30

Developer(s)Oracle CorporationStable release 8.0 / March 18, 2014Written in JavaOperating system Windows, Mac OS X, Linux, Solaris; feature-limited OS independent version availablePlatform Java SEAvailable in 24 languages; see LocalizationType Java IDELicense CDDL or GPL2; "certain source files" allow classpath exception

Page 31: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

History

NetBeans began in 1996 as Xelfi (word play on Delphi), a Java IDE student project under the guidance of the Faculty of Mathematics and Physics at Charles University in Prague. In 1997 Roman Staněk formed a company around the project and produced commercial versions of the NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the NetBeans IDE in June of the following year. Since then, the NetBeans community has continued to grow. In 2010, Sun (and thus NetBeans) was acquired by Oracle.

Current versions

NetBeans IDE 6.0 introduced support for developing IDE modules and rich client applications based on the NetBeans platform, a Java Swing GUI builder (formerly known as "Project Matisse"), improved CVS support, WebLogic 9 and JBoss 4 support, and many editor enhancements. NetBeans 6 is available in official repositories of major Linux distributions.

NetBeans IDE 6.5, released in November 2008, extended the existing Java EE features (including Java Persistence support, EJB 3 and JAX-WS). Additionally, the NetBeans Enterprise Pack supports development of Java EE 5 enterprise applications, including SOA visual design tools, XML schema tools, web services orchestration (for BPEL), and UML modeling. The NetBeans IDE Bundle for C/C++ supports C/C++ and FORTRAN development.

NetBeans IDE 6.8 is the first IDE to provide complete support of Java EE 6 and the GlassFish Enterprise Server v3. Developers hosting their open-source projects on kenai.com additionally benefit from instant messaging and issue tracking integration and navigation right in the IDE, support for web application development with PHP 5.3 and the Symfony framework, and improved code completion, layouting, hints and navigation in JavaFX projects.

Page 31

Page 32: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

NetBeans IDE 6.9, released in June 2010, added support for OSGi, Spring Framework 3.0, Java EE dependency injection (JSR-299), Zend Framework for PHP, and easier code navigation (such as "Is Overridden/Implemented" annotations), formatting, hints, and refactoring across several languages.

NetBeans IDE 7.0 was released in April 2011. On August 1, 2011, the NetBeans Team released NetBeans IDE 7.0.1, which has full support for the official release of the Java SE 7 platform.

NetBeans IDE 7.3 was released in February 2013 which added support for HTML5 and web technologies.

NetBeans IDE 7.4 was released on October 15, 2013.

NetBeans IDE 8.0 was released on March 18, 2014.

NetBeans has a roadmap document for release plans.

Net Beans platform

Framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required.

Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.

Page 32

Page 33: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

User interface management (e.g. menus and toolbars) User settings management Storage management (saving and loading any kind of data) Window management Wizard framework (supports step-by-step dialogs) NetBeans Visual Library Integrated development tools

NetBeans IDE is a free, open-source, cross-platform IDE with built-in-support for Java Programming Language.

Net Beans IDENetBeans IDE is an open-source integrated development environment. NetBeans IDE supports development of all Java application types (Java SE (including JavaFX), Java ME, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, Maven support, refactorings, version control (supporting CVS, Subversion, Git, Mercurial and Clearcase).

Modularity: All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.

Page 33

Page 34: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common Development and Distribution License (CDDL), a license based on the Mozilla Public License (MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL linking exception for GNU Classpath.

Integrated modulesNetBeans Profiler

The NetBeans Profiler is a tool for the monitoring of Java applications: It helps developers find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0.

The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic bytecode instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let you profile precise points of execution and measure execution time.

NetBeans GUI Builder

GUI design tool

Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design Swing GUIs by dragging and positioning GUI components.

The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the support for JSR 296 (Swing Application Framework) was removed in 7.1.

Page 34

Page 35: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

NetBeans JavaScript editor

The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS.

JavaScript editor features comprise syntax highlighting, refactoring, code completion for native objects and functions, generation of JavaScript class skeletons, generation of Ajax callbacks from a template; and automatic browser compatibility checks.

CSS editor features comprise code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

The NetBeans 7.4 and later uses the new [Nashorn] JavaScript engine developed by Oracle.

Net Beans IDE Download BundlesNetBeans IDE Bundle for Web and Java EE

The NetBeans IDE Bundle for Web & Java EE provides complete tools for all the latest Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs), servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0 (Facelets), JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5 and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat. Some of its features with javaEE includes

Improved support for CDI, REST services and Java Persistence New support for Bean Validation Support for JSF component libraries, including bundled PrimeFaces

library

Page 35

Page 36: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Improved editing for Expression Language in JSF, including code

completion, refactoring and hints

NetBeans IDE Bundle for Java ME

The NetBeans IDE Bundle for Java ME is a tool for developing applications that run on mobile devices; generally mobile phones, but this also includes entry-level PDAs, and Java Card, among others.

The NetBeans IDE comes bundled with the latest Java ME SDK 3.0 which supports both CLDC and CDC development. One can easily integrate third-party emulators for a robust testing environment. You can download other Java platforms, including the Java Card Platform 3.0, and register them in the IDE.

NetBeans IDE Bundle for PHP

NetBeans supports PHP since version 6.5. The bundle for PHP includes:

syntax highlighting, code completion, occurrence highlighting, error highlighting, CVS version control

semantic analysis with highlighting of parameters and unused local variables

PHP code debugging with xdebug PHP Unit testing with PHPUnit and Selenium Code coverage Symfony framework support (since version 6.8) Zend Framework support (since version 6.9) PHP 5.3 namespace and closure support (since version 6.8) Code Folding for Control Structures (since version 7.2 dev[19] )

NetBeans IDE Complete Bundle

Sun Microsystems also releases a version of NetBeans that includes all of the features of the above bundles. This bundle includes:

Page 36

Page 37: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

NetBeans Base IDE Java SE, JavaFX Web and Java EE Java ME C/C++ PHP (Version 6.5 and later) GlassFish Apache Tomcat

Official Ruby support was removed with the release of 7.0

Other NetBeans IDE Bundles

Apart from the above mentioned, a NetBeans IDE Bundle is also available for Python. NetBeans for Python is available as an "early access" download in an IDE bundle form and as a plugin for any NetBeans 6.5 IDE bundle as well. The Python bundle has been discontinued as of Netbeans 7.0.

Localization

NetBeans IDE is translated into the following languages:

Brazilian Portuguese (BR), as of 5.5 Japanese (JP), as of 3.4 Simplified Chinese (ZH)

Community translations of the IDE are also available in the following languages: < next page >

Page 37

Page 38: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Community translations

Language Platform Java SE(IDE)

ALL

Afrikaans As of 6.9 No No

Albanian As of 5.5 No No

Azerbaijani Yes No NoCatalan As of 6.7.1 As of 6.7.1 As of 6.9.1

Czech As of 6.0 No NoDutch Yes Yes No

Filipino As of 6.9 No No

French Yes Yes NoGalician Yes Yes As of 6.8

German As of 5.5 As of 5.5 No

Greek As of 6.9 No NoHindi As of 6.9 No No

Indonesian As of 5.5 No No

Italian Yes Yes NoKorean As of 5.0 As of 5.0 No

Lithuanian As of 6.9 No NoRomanian As of 6.8 No No

Russian As of 5.0 As of 5.0 As of 6.9.1

Serbian As of 6.9 No NoSpanish As of 5.5 As of 5.5 No

Swedish Yes Yes No

Traditional Chinese Yes Yes NoTurkish Yes Yes No

Vietnamese As of 6.9 No No

Page 38

Page 39: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Use case diagrams

A use case diagram at its simplest is a representation of a user's interaction with the system and depicting the specifications of a use case. A use case diagram can portray the different types of users of a system and the various ways that they interact with the system. This type of diagram is typically used in conjunction with the textual use case and will often be accompanied by other types of diagrams as well.

Application

While a use case itself might drill into a lot of detail about every possibility, a use-case diagram can help provide a higher-level view of the system. It has been said before that "Use case diagrams are the blueprints for your system". They provide the simplified and graphical representation of what the system must actually do.

Tips

Always structure and organize the use case diagram from the perspective of the actor.

Use cases should start off simple and at the highest view possible. Only then can they be refined and detailed further.

Use case diagrams are based upon functionality and thus should focus on the "what" and not the "how"

Page 39

Page 40: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Main Departments

Sales and marketing Department. Financial Department. Production Department. Transport Department. HR Department. IT Department.

(These departments’ Use cases, Activity diagrams & Wire frames have attached in next pages.)

Sales and marketing department

Page 40

Page 41: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

1. What is Sales?A sale is the act of selling a product or service in return for money or other compensation. Signaling completion of the prospective stage, it is the beginning of an engagement between customer and vendor or the extension of that engagement.

The seller or salesperson – the provider of the goods or services – completes a sale in response to an acquisition or to an appropriation[citation

needed] or to a request. There follows the passing of title (property or ownership) in the item, and the application and due settlement of a price, the obligation for which arises due to the seller's requirement to pass ownership. Ideally, a seller agrees upon a price at which he willingly parts with ownership of or any claim upon the item. The purchaser, though a party to the sale does not execute the sale, only the seller does that. To be precise the sale completes prior to the payment and gives rise to the obligation of payment. If the seller completes the first two above stages (consent and passing ownership) of the sale prior to settlement of the price, the sale remains valid and gives rise to an obligation to pay.

Sales methods

A sale can take place through:

Direct sales, involving person to person contact Pro forma sales Agency-based o Sales agents (for example in real estate or in manufacturing)o Sales outsourcing through direct branded representationo Transaction saleso Consultative saleso Complex saleso Consignmento Telemarketing or telesaleso Retail or consumer

Page 41

Page 42: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Traveling salesman o Door-to-door methodso hawking Request for proposal – An invitation for suppliers, through a bidding

process, to submit a proposal on a specific product or service. An RFP usually represents part of a complex sales process, also known as "enterprise sales".

Business-to-business – Business-to-business ("B2B") sales are much more relationship-based owing to the lack of emotional attachment to the products in question. Industrial/professional sales involves selling from one business to another

Electronic o Web – Business-to-business ("B2B") and business-to-consumer

("B2C")o Electronic Data Interchange (EDI) – A set of standard for

structuring information to be electronically exchanged between and within businesses

Indirect, human-mediated but with indirect contact o Mail-ordero vending machine Sales Techniques: o Selling techniqueo Consultative sellingo Sales enablemento Solution sellingo Conceptual sellingo Strategic sellingo Transactional sellingo Sales Negotiationo Reverse Sellingo Up sellingo Cross-sellingo Paint-the-Pictureo take awayo Sales Habitso Relationship Selling

Sales agents

Page 42

Page 43: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Agents in the sales process can represent either of two parties in the sales process;

for example:

1. Sales broker, Seller agency, seller agent, seller representative: This is a traditional role where the salesman represents a person or company on the selling end of a deal.

2. Buyers broker or Buyer brokerage: This is where the salesman represents the consumer making the purchase. This is most often applied in large transactions.

3. Disclosed dual agent:This is where the salesman represents both parties in the sale and acts as a mediator for the transaction. The role of the salesman here is to oversee that both parties receive an honest and fair deal, and is responsible to both.

4. Transaction broker: This is where the salesperson represents neither party but handles the transaction only. The seller owes no responsibility to either party getting a fair or honest deal, just that all of the papers are handled properly.

5. Sales outsourcing involves direct branded representation where the sales representatives are recruited, hired, and managed by an external entity but hold quotas, represent themselves as the brand of the client, and report all activities (through their own sales management channels) back to the client. It is akin to a virtual extension of a sales force (see sales outsourcing).

6. Sales managers aim to implement various sales strategies and management techniques in order to facilitate improved profits and increased sales volume. They are also responsible for coordinating the sales and marketing department as well as oversight concerning the fair and honest execution of the sales process by their agents.

7. Salesperson: The primary function of professional sales is to generate and close leads, educate prospects, fill needs and satisfy wants of consumers appropriately, and therefore turn prospective customers into actual ones. Questioning – to understand a customer's goal and requirements relevant to the product – and the creation of a valuable solution by communicating the necessary information that encourages a buyer to achieve their goal at an economic cost comprise the functions of the salesperson or of the sales engine (for example, the Internet, a vending machine, etc.). A good salesperson should never mis-sell or over-evaluate the customer's requirements.

Inside sales VS. Outside sales

Page 43

Page 44: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Since the advent of the telephone, a distinction has been made between "inside sales" and "outside sales" although it is generally agreed that those terms have no hard-and-fast definition. In the United States, the Fair Labor Standards Act defines outside sales representatives as "employees [who] sell their employer's products, services, or facilities to customers away from their employer's place(s) of business, in general, either at the customer's place of business or by selling door-to-door at the customer's home" while defining those who work "from the employer's location" as inside sales. Inside sales generally involves attempting to close business primarily over the phone via telemarketing, while outside sales (or "field" sales) will usually involve initial phone work to book sales calls at the potential buyer's location to attempt to close the deal in person. Some companies have an inside sales department that works with outside representatives and book their appointments for them. Inside sales sometimes refers to up selling to existing customers.

2. What is Marketing?Marketing is the process of communicating the value of a product or service to customers, for the purpose of selling that product or service.

From a societal point of view, marketing is the link between a society’s material requirements and its economic patterns of response. Marketing satisfies these needs and wants through exchange processes and building long term relationships. Marketing can be looked at as an organizational function and a set of processes for creating, delivering and communicating value to customers, and managing customer relationships in ways that also benefit the organization and its shareholders. Marketing is the art and science of identifying target markets through market analysis and market segmentation, as well as understanding consumer buying behavior and lifestyle, and developing a positioning strategy, which identifies the customer problem with supporting data, and proposes a solution or marketing mix to achieve a business plan objective. Marketing is an intermediary function, or facilitative role in an

Page 44

Page 45: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

organization in effort to connect businesses to consumers, and increase sales volume, as well as company image and brand recognition.

There are six competing concepts under which organizations can choose to operate their business: the production concept, the product concept, the selling concept, the marketing concept, the societal marketing concept and the holistic marketing concept. The four components of holistic marketing are relationship marketing, internal marketing, integrated marketing, and socially responsive marketing. The set of engagements necessary for successful marketing management includes capturing marketing insights, connecting with customers, building strong brands, shaping the market offerings, delivering and communicating value, creating long-term growth, and developing marketing strategies and plans. The essence of marketing may be found in the book The Prince (Nicola Machiavelli) stating, "To conquer a man, you must satisfy their needs."

Marketing concepts

There are several possible definitions of marketing, depending on the role that the enterprise is called to play in relation to the strategic role in positioning the firm within its competitive market . The main definition is by Philip Kotler, unanimously recognized as the father of the most recent developments in the field for the works appeared from 1967 to 2009, with the latest work born from the last economic crisis : Chaotics . But the origins of the concept of marketing have their roots very far . With the Italian economist Giancarlo Pallavicini, already in 1959, these roots are accompanied by the initial in-depth market research, constituting, in fact, the first instruments of what became the modern marketing, resumed and developed at a later time by Philip Kotler Giancarlo Pallavicini introduces, in fact, the following definitions : Marketing is defined as a social and managerial process designed to meet the needs and requirements through the processes of creating and exchanging products and values. It is the art and science of identifying, creating and delivering value to meet the needs of a target market, making a profit : delivery of satisfaction at a price .

Marketing Research

Page 45

Page 46: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing research involves conducting research to support marketing activities, and the statistical interpretation of data into information. This information is then used by managers to plan marketing activities, gauge the nature of a firm's marketing environment and attain information from suppliers. Marketing researchers use statistical methods such as quantitative research, qualitative research, hypothesis tests, Chi-squared tests, linear regression, correlations, frequency distributions, poisson distributions, binomial distributions, etc. to interpret their findings and convert data into information. The marketing research process spans a number of stages, including the definition of a problem, development of a research plan, collection and interpretation of data and disseminating information formally in the form of a report. The task of marketing research is to provide management with relevant, accurate, reliable, valid, and current information.

A distinction should be made between marketing research and market research. Market research pertains to research in a given market. As an example, a firm may conduct research in a target market, after selecting a suitable market segment. In contrast, marketing research relates to all research conducted within marketing. Thus, market research is a subset of marketing research.

Marketing environment

Main article: Marketing environment

Staying ahead of the consumer is an important part of a marketer's job. It is important to understand the "marketing environment" in order to comprehend the consumers concerns, motivations and to adjust the product according to the consumers needs. Marketers use the process of marketing environmental scans, which continually acquires information on events occurring out side the organization to identify trends, opportunities and threats to a business. The six key elements of a marketing scan are the demographic forces, socio-cultural forces, economic forces, regulatory forces, competitive forces, and technological forces. Marketers must look at

Page 46

Page 47: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

where the threats and opportunities stem from in the world around the consumer to maintain a productive and profitable business.

The market environment is a marketing term and refers to factors and forces that affect a firm’s ability to build and maintain successful relationships with customers.Three levels of the environment are: Micro (internal) environment - forces within the company that affect its ability to serve its customers. Meso environment – the industry in which a company operates and the industry’s market(s). Macro (national) environment - larger societal forces that affect the microenvironment.

Market segmentation

Main article: Market segmentation

Market segmentation pertains to the division of a market of consumers into persons with similar needs and wants. For instance, Kellogg's cereals, Frosties are marketed to children. Crunchy Nut Cornflakes are marketed to adults. Both goods denote two products which are marketed to two distinct groups of persons, both with similar needs, traits, and wants. In another example, Sun Microsystems can use market segmentation to classify its clients according to their promptness to adopt new products.

Market segmentation allows for a better allocation of a firm's finite resources. A firm only possesses a certain amount of resources. Accordingly, it must make choices (and incur the related costs) in servicing specific groups of consumers. In this way, the diversified tastes of contemporary Western consumers can be served better. With growing diversity in the tastes of modern consumers, firms are taking note of the benefit of servicing a multiplicity of new markets.

Market segmentation can be viewed as a key dynamic in interpreting and executing a logical perspective of Strategic Marketing Planning. The manifestation of this process is considered by many traditional thinkers to include the following;Segmenting, Targeting and Positioning.

Page 47

Page 48: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Types of market research

Market research, as a sub-set aspect of marketing activities, can be divided into the following parts:

Primary research (also known as field research), which involves the conduction and compilation of research for a specific purpose.[15]

Secondary research (also referred to as desk research), initially conducted for one purpose, but often used to support another purpose or end goal.

By these definitions, an example of primary research would be market research conducted into health foods, which is used solely to ascertain the needs/wants of the target market for health foods. Secondary research in this case would be research pertaining to health foods, but used by a firm wishing to develop an unrelated product.

Primary research is often expensive to prepare, collect and interpret from data to information. Nevertheless, while secondary research is relatively inexpensive, it often can become outdated and outmoded, given that it is used for a purpose other than the one for which it was intended. Primary research can also be broken down into quantitative research and qualitative research, which, as the terms suggest, pertain to numerical and non-numerical research methods and techniques, respectively. The appropriateness of each mode of research depends on whether data can be quantified (quantitative research), or whether subjective, non-numeric or abstract concepts are required to be studied (qualitative research).

There also exist additional modes of marketing research, which are:

Exploratory research, pertaining to research that investigates an assumption.

Descriptive research, which, as the term suggests, describes "what is". Predictive research, meaning research conducted to predict a future

occurrence.

Page 48

Page 49: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Conclusive research, for the purpose of deriving a conclusion via a

research process.

Types of marketing

Account planning Affinity marketing Aggressiveness strategy Agricultural marketing Alliance marketing Ambush marketing Article marketing Article video marketing Association of Publishing Agencies Brand language Business model Call to action (marketing) Chaotics Cause marketing The Cellar (marketing) Close Range Marketing Community marketing Consumer-generated advertising Content marketing Cross-media marketing Customer advocacy Customerization Database marketing Digital marketing Digital omnivore Direct marketing Diversification (marketing strategy) Diversity marketing

Page 49

Page 50: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Ethical marketing Evangelism marketing Experience curve effects Figure of merit Freebie marketing Global marketing Guerrilla marketing Horizontal integration Inbound marketing Influencer marketing Limited edition candy Loyalty marketing Marketing communications Marketing warfare strategies Mass customization Megamarketing Menu engineering Multi-domestic strategy Multi-level marketing Nano-campaigning Next-best-action marketing Online advertising Permission marketing Personalization Pitch book Pre-installed software Product bundling Project SCUM Proximity marketing

Page 50

Page 51: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of sales and marketing department

1. Marketing analyst.2. Accounting manager.3. Marketing account manager.4. Sales clerk.5. Marketing and sales manager.6. Marketing consultant.7. Marketing assistant.8. Marketing coordinator.9. Marketing account manager.

10.

Page 51

Page 52: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing analyst

Page 52

Page 53: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Accounting manager

Page 53

Page 54: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing account manager

Page 54

Page 55: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Sales clerk

Page 55

Page 56: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing and sales manager

Page 56

Page 57: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing consultant

Page 57

Page 58: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Page 58

Page 59: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing Assistant

Page 59

Page 60: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing Coordinator

Page 60

Page 61: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Marketing account manager

Page 61

Page 62: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial departmentDescription of servicesThe Finance Department is responsible for the administration and supervision of all financial affairs of the City.  The Finance Department is responsible for the timely recording of revenue and the disbursement of City funds in accordance with State Law, City policies, and Generally Accepted Accounting Principals.  The Finance Department assists in enforcing budgetary control and performs internal audit functions as needed.

What is Finance?Finance is a field within economics that deals with the allocation of assets and liabilities over time under conditions of certainty and uncertainty. Finance can also be defined as the science of money management. A key point in finance is the time value of money, which states that one unit of currency today is worth more than one unit of currency tomorrow. Finance aims to price assets based on their risk level and their expected rate of return. Finance can be broken into three different sub-categories: public finance, corporate finance and personal finance.

Areas of FinancePersonal finance

Main article: Personal finance

Page 62

Page 63: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Questions in personal finance revolve around

Protection against unforeseen personal events, as well as events in the wider economy

Transference of family across generations (bequests and inheritance) Effects of tax policies (tax subsidies and/or penalties) on management

of personal finances Effects of credit on individual financial standing Planning a secure financial future in an environment of economic

instability

Personal finance may involve paying for education, financing durable goods such as real estate and cars, buying insurance, e.g. health and property insurance, investing and saving for retirement.

Personal finance may also involve paying for a loan, or debt obligations. The six key areas of personal financial planning, as suggested by the Financial Planning Standards Board, are:

1. Financial position: is concerned with understanding the personal resources available by examining net worth and household cash flow. Net worth is a person's balance sheet, calculated by adding up all assets under that person's control, minus all liabilities of the household, at one point in time. Household cash flow totals up all the expected sources of income within a year, minus all expected expenses within the same year. From this analysis, the financial planner can determine to what degree and in what time the personal goals can be accomplished.

2. Adequate protection: the analysis of how to protect a household from unforeseen risks. These risks can be divided into liability, property, death, disability, health and long term care. Some of these risks may be self-insurable, while most will require the purchase of an insurance contract. Determining how much insurance to get, at the most cost effective terms requires knowledge of the market for personal

Page 63

Page 64: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

insurance. Business owners, professionals, athletes and entertainers require specialized insurance professionals to adequately protect themselves. Since insurance also enjoys some tax benefits, utilizing insurance investment products may be a critical piece of the overall investment planning.

3. Tax planning: typically the income tax is the single largest expense in a household. Managing taxes is not a question of if you will pay taxes, but when and how much. Government gives many incentives in the form of tax deductions and credits, which can be used to reduce the lifetime tax burden. Most modern governments use a progressive tax. Typically, as one's income grows, a higher marginal rate of tax must be paid. Understanding how to take advantage of the myriad tax breaks when planning one's personal finances can make a significant impact.

4. Investment and accumulation goals: planning how to accumulate enough money - for large purchases and life events - is what most people consider to be financial planning. Major reasons to accumulate assets include, purchasing a house or car, starting a business, paying for education expenses, and saving for retirement. Achieving these goals requires projecting what they will cost, and when you need to withdraw funds. A major risk to the household in achieving their accumulation goal is the rate of price increases over time, or inflation. Using net present value calculators, the financial planner will suggest a combination of asset earmarking and regular savings to be invested in a variety of investments. In order to overcome the rate of inflation, the investment portfolio has to get a higher rate of return, which typically will subject the portfolio to a number of risks. Managing these portfolio risks is most often accomplished using asset allocation, which seeks to diversify investment risk and opportunity. This asset allocation will prescribe a percentage allocation to be invested in stocks, bonds, cash and alternative investments. The allocation should also take into consideration the personal risk profile of every investor, since risk attitudes vary from person to person.

Page 64

Page 65: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

5. Retirement planning is the process of understanding how much it

costs to live at retirement, and coming up with a plan to distribute assets to meet any income shortfall. Methods for retirement plan include taking advantage of government allowed structures to manage tax liability including: individual (IRA) structures, or employer sponsored retirement plans.

6. Estate planning involves planning for the disposition of one's assets after death. Typically, there is a tax due to the state or federal government at one's death. Avoiding these taxes means that more of one's assets will be distributed to one's heirs. One can leave one's assets to family, friends or charitable groups.

Corporate finance

Main article: Corporate finance

Corporate finance is the area of finance dealing with the sources of funding and the capital structure of corporations and the actions that managers take to increase the value of the firm to the shareholders, as well as the tools and analysis used to allocate financial resources. Although it is in principle different from managerial finance which studies the financial management of all firms, rather than corporations alone, the main concepts in the study of corporate finance are applicable to the financial problems of all kinds of firms. Corporate finance generally involves balancing risk and profitability, while attempting to maximize an entity's wealth and the value of its stock, and generically entails three primary areas of capital resource allocation. In the first, "capital budgeting", management must choose which "projects" (if any) to undertake. The discipline of capital budgeting may employ standard business valuation techniques or even extend to real options valuation; see Financial modeling. The second, "sources of capital" relates to how these investments are to be funded: investment capital can be provided through different sources, such as by shareholders, in the form of equity (privately or via an initial public offering), creditors, often in the form of bonds, and the firm's operations (cash flow). Short-term funding or working capital is

Page 65

Page 66: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

mostly provided by banks extending a line of credit. The balance between these elements forms the company's capital structure. The third, "the dividend policy", requires management to determine whether any unappropriated profit (excess cash) is to be retained for future investment / operational requirements, or instead to be distributed to shareholders, and if so in what form. Short term financial management is often termed "working capital management", and relates to cash-, inventory- and debtors management.

Corporate finance also includes within its scope business valuation, stock investing, or investment management. An investment is an acquisition of an asset in the hope that it will maintain or increase its value over time. In investment management – in choosing a portfolio – one has to use financial analysis to determine what, how much and when to invest. To do this, a company must:

Identify relevant objectives and constraints: institution or individual goals, time horizon, risk aversion and tax considerations;

Identify the appropriate strategy: active versus passive hedging strategy

Measure the portfolio performance

Financial management overlaps with the financial function of the Accounting profession. However, financial accounting is the reporting of historical financial information, while financial management is concerned with the allocation of capital resources to increase a firm's value to the shareholders.

Financial risk management, an element of corporate finance, is the practice of creating and protecting economic value in a firm by using financial instruments to manage exposure to risk, particularly credit risk and market risk. (Other risk types include Foreign exchange, Shape, Volatility, Sector, liquidity, Inflation risks, etc.) It focuses on when and how to hedge using financial instruments; in this sense it overlaps with financial engineering. Similar to general risk management, financial risk management requires

Page 66

Page 67: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

identifying its sources, measuring it (see: Risk measure: Well known risk measures), and formulating plans to address these, and can be qualitative and quantitative. In the banking sector worldwide, the Basel Accords are generally adopted by internationally active banks for tracking, reporting and exposing operational, credit and market risks.

Financial services

Main article: Financial services

An entity whose income exceeds its expenditure can lend or invest the excess income. Though on the other hand, an entity whose income is less than its expenditure can raise capital by borrowing or selling equity claims, decreasing its expenses, or increasing its income. The lender can find a borrower, a financial intermediary such as a bank, or buy notes or bonds in the bond market. The lender receives interest, the borrower pays a higher interest than the lender receives, and the financial intermediary earns the difference for arranging the loan.

A bank aggregates the activities of many borrowers and lenders. A bank accepts deposits from lenders, on which it pays interest. The bank then lends these deposits to borrowers. Banks allow borrowers and lenders, of different sizes, to coordinate their activity.

Finance is used by individuals (personal finance), by governments (public finance), by businesses (corporate finance) and by a wide variety of other organizations, including schools and non-profit organizations. In general, the goals of each of the above activities are achieved through the use of appropriate financial instruments and methodologies, with consideration to their institutional setting.

Finance is one of the most important aspects of business management and includes analysis related to the use and acquisition of funds for the enterprise.

Page 67

Page 68: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

In corporate finance, a company's capital structure is the total mix of financing methods it uses to raise funds. One method is debt financing, which includes bank loans and bond sales. Another method is equity financing - the sale of stock by a company to investors, the original shareholders of a share. Ownership of a share gives the shareholder certain contractual rights and powers, which typically include the right to receive declared dividends and to vote the proxy on important matters (e.g., board elections). The owners of both bonds and stock, may be institutional investors - financial institutions such as investment banks and pension funds  or private individuals, called private investors or retail investors.

Public finance

Main article: Public finance

Public finance describes finance as related to sovereign states and sub-national entities (states/provinces, counties, municipalities, etc.) and related public entities (e.g. school districts) or agencies. It is concerned with:

Identification of required expenditure of a public sector entity Source(s) of that entity's revenue The budgeting process Debt issuance (municipal bonds) for public works projects

Central banks, such as the Federal Reserve System banks in the United States and Bank of England in the United Kingdom, are strong players in public finance, acting as lenders of last resort as well as strong influences on monetary and credit conditions in the economy.[2]

Capital

Main article: Financial capital

Page 68

Page 69: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Capital, in the financial sense, is the money that gives the business the power to buy goods to be used in the production of other goods or the offering of a service. (The capital has two types of resources, Equity and Debt).

The deployment of capital is decided by the budget. This may include the objective of business, targets set, and results in financial terms, e.g., the target set for sale, resulting cost, growth, required investment to achieve the planned sales, and financing source for the investment.

A budget may be long term or short term. Long term budgets have a time horizon of 5–10 years giving a vision to the company; short term is an annual budget which is drawn to control and operate in that particular year.

Budgets will include proposed fixed asset requirements and how these expenditures will be financed. Capital budgets are often adjusted annually and should be part of a longer-term Capital Improvements Plan.

A cash budget is also required. The working capital requirements of a business are monitored at all times to ensure that there are sufficient funds available to meet short-term expenses.

The cash budget is basically a detailed plan that shows all expected sources and uses of cash. The cash budget has the following six main sections:

1. Beginning Cash Balance - contains the last period's closing cash balance.

2. Cash collections - includes all expected cash receipts (all sources of cash for the period considered, mainly sales)

3. Cash disbursements - lists all planned cash outflows for the period, excluding interest payments on short-term loans, which appear in the financing section. All expenses that do not affect cash flow are excluded from this list (e.g. depreciation, amortization, etc.)

4. Cash excess or deficiency - a function of the cash needs and cash available. Cash needs are determined by the total cash disbursements

Page 69

Page 70: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

plus the minimum cash balance required by company policy. If total cash available is less than cash needs, a deficiency exists.

5. Financing - discloses the planned borrowings and repayments, including interest.

Financial theory

Financial economics

Main article: Financial economics

Financial economics is the branch of economics studying the interrelation of financial variables, such as prices, interest rates and shares, as opposed to those concerning the real economy. Financial economics concentrates on influences of real economic variables on financial ones, in contrast to pure finance. It centres on managing risk in the context of the financial markets, and the resultant economic and financial models. It essentially explores how rational investors would apply risk and return to the problem of an investment policy. Here, the twin assumptions of rationality and market efficiency lead to modern portfolio theory (the CAPM), and to the Black–Scholes theory for option valuation; it further studies phenomena and models where these assumptions do not hold, or are extended. "Financial economics", at least formally, also considers investment under "certainty" (Fisher separation theorem, "theory of investment value", Modigliani-Miller theorem) and hence also contributes to corporate finance theory. Financial econometrics is the branch of financial economics that uses econometric techniques to parameterize the relationships suggested.

Although closely related, the disciplines of economics and finance are distinctive. The “economy” is a social institution that organizes a society’s production, distribution, and consumption of goods and services,” all of which must be financed.

Economists make a number of abstract assumptions for purposes of their analyses and predictions. They generally regard financial markets that

Page 70

Page 71: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

function for the financial system as an efficient mechanism (Efficient-market hypothesis). Instead, financial markets are subject to human error and emotion.[3] New research discloses the mischaracterization of investment safety and measures of financial products and markets so complex that their effects, especially under conditions of uncertainty, are impossible to predict. The study of finance is subsumed under economics as financial economics, but the scope, speed, power relations and practices of the financial system can uplift or cripple whole economies and the well-being of households, businesses and governing bodies within them—sometimes in a single day.

Financial mathematics

Main article: Financial mathematics

Financial mathematics is a field of applied mathematics, concerned with financial markets. The subject has a close relationship with the discipline of financial economics, which is concerned with much of the underlying theory. Generally, mathematical finance will derive, and extend, the mathematical or numerical models suggested by financial economics. In terms of practice, mathematical finance also overlaps heavily with the field of computational finance (also known as financial engineering). Arguably, these are largely synonymous, although the latter focuses on application, while the former focuses on modeling and derivation (see: Quantitative analyst). The field is largely focused on the modelling of derivatives, although other important subfields include insurance mathematics and quantitative portfolio problems. See Outline of finance: Mathematical tools; Outline of finance: Derivatives pricing.

Experimental finance

Main article: Experimental finance

Experimental finance aims to establish different market settings and environments to observe experimentally and provide a lens through which science can analyze agents' behavior and the resulting characteristics of

Page 71

Page 72: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

trading flows, information diffusion and aggregation, price setting mechanisms, and returns processes. Researchers in experimental finance can study to what extent existing financial economics theory makes valid predictions, and attempt to discover new principles on which such theory can be extended. Research may proceed by conducting trading simulations or by establishing and studying the behavior of people in artificial competitive market-like settings.

Behavioral finance

Main article: Behavioral finance

Behavioral Finance studies how the psychology of investors or managers affects financial decisions and markets. Behavioral finance has grown over the last few decades to become central to finance.

Behavioral finance includes such topics as:

1. Empirical studies that demonstrate significant deviations from classical theories.

2. Models of how psychology affects trading and prices3. Forecasting based on these methods.4. Studies of experimental asset markets and use of models to forecast

experiments.

A strand of behavioral finance has been dubbed Quantitative Behavioral Finance, which uses mathematical and statistical methodology to understand behavioral biases in conjunction with valuation. Some of this endeavor has been led by Gunduz Caginalp (Professor of Mathematics and Editor of Journal of Behavioral Finance during 2001-2004) and collaborators including Vernon Smith (2002 Nobel Laureate in Economics), David Porter, Don Balenovich, Vladimira Ilieva, Ahmet Duran). Studies by Jeff Madura, Ray Sturm and others have demonstrated significant behavioral effects in stocks and exchange traded funds. Among other topics, quantitative

Page 72

Page 73: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

behavioral finance studies behavioral effects together with the non-classical assumption of the finiteness of assets.

Intangible asset finance

Main article: Intangible asset finance

Intangible asset finance is the area of finance that deals with intangible assets such as patents, trademarks, goodwill, reputation, etc.

Page 73

Page 74: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of Financial Department

1. Financial analyst.2. Accounting manager.3. Chief financial officer.4. Accountant.5. Compliance officer.6. Financial reporting manager.7. Tax manager.8. Financial manager.

Page 74

Page 75: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial analyst

Page 75

Page 76: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Accounting manager

Page 76

Page 77: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Chief financial officer

Accountant

Page 77

Page 78: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Page 78

Page 79: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Compilance officer

Page 79

Page 80: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial reporting manager

Tax manager

Page 80

Page 81: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial manager

Page 81

Page 82: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production DepartmentAims and functions of production department

Page 82

Page 83: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production is the functional area responsible for turning inputs into finished outputs through a series of production processes. The Production Manager is responsible for making sure that raw materials are provided and made into finished goods effectively. He or she must make sure that work is carried out smoothly, and must supervise procedures for making work more efficient and more enjoyable.

The production department will set standards and targets for each section of the production process. The quantity and quality of products coming off a production line will be closely monitored. In businesses focusing on lean production, quality will be monitored by all employees at every stage of production, rather than at the end as is the case for businesses using a quality control approach.

What is Production?

Production is a process of combining various material inputs and immaterial inputs (plans, know-how) in order to make something for consumption (the output). It is the act of creating output, a good or service which has value and contributes to the utility of individuals. Economic well-being is created in a production process, meaning all economic activities that aim directly or indirectly to satisfy human needs. The degree to which the needs are satisfied is often accepted as a measure of economic well-being.

The satisfaction of needs originates from the use of the commodities which are produced. The need satisfaction increases when the quality-price-ratio of the commodities improves and more satisfaction is achieved at less cost. Improving the quality-price-ratio of commodities is to a producer an essential way to enhance the production performance but this kind of gains distributed to customers cannot be measured with production data.

Economic well-being also increases due to the growth of incomes that are gained from the growing and more efficient production. The most important forms of production are

Page 83

Page 84: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

market production, public production and Production in households.

In order to understand the origin of the economic well-being we must understand these three production processes. All of them have production functions of their own which interact with each other. Market production is the prime source of economic well-being and therefore the “primus motor” of the modern economy. Note that when we later discuss production we refer to market production. When discussing a single unit in the production process, the term “company” is used.

Production as a source of economic well-being

In principle there are two main activities in an economy, production and consumption. Similarly there are two kinds of actors, producers and consumers. Well-being is made possible by efficient production and by the interaction between producers and consumers. In the interaction, consumers can be identified in two roles both of which generate well-being. Consumers can be both customers of the producers and suppliers to the producers. The customers’ well-being arises from the commodities they are buying and the suppliers’ well-being is related to the income they receive as compensation for the production inputs they have delivered to the producers.

Stakeholders of production

Stakeholders of production are persons, groups or organizations with an interest in a producing company. Economic well-being originates in efficient production and it is distributed through the interaction between the company’s stakeholders. The stakeholders of companies are economic actors which have an economic interest in a company. Based on the similarities of their interests, stakeholders can be classified into three groups in order to differentiate their interests and mutual relations. The three groups are as follows:

Page 84

Page 85: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Customers Suppliers Producers.

The interests of these stakeholders and their relations to companies are described briefly below. Our purpose is to establish a framework for further analysis.

Interactive contributions of a company’s stakeholders (Saari, 2011,4)

Customers

The customers of a company are typically consumers, other market producers or producers in the public sector. Each of them has their individual production functions. Due to competition, the price-quality-ratios of commodities tend to improve and this brings the benefits of better productivity to customers. Customers get more for less. In households and the public sector this means that more need satisfaction is achieved at less cost. For this reason the productivity of customers can increase over time even though their incomes remain unchanged.

Suppliers

The suppliers of companies are typically producers of materials, energy, capital, and services. They all have their individual production functions. The changes in prices or qualities of supplied commodities have an effect on

Page 85

Page 86: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

both actors’ (company and suppliers) production functions. We come to the conclusion that the production functions of the company and its suppliers are in a state of continuous change.

Producer community

The incomes are generated for those participating in production, i.e., the labour force, society and owners. These stakeholders are referred to here as producer communities or, in shorter form, as producers. The producer communities have a common interest in maximizing their incomes. These parties that contribute to production receive increased incomes from the growing and developing production.

The well-being gained through commodities stems from the price-quality relations of the commodities. Due to competition and development in the market, the price-quality relations of commodities tend to improve over time. Typically the quality of a commodity goes up and the price goes down over time. This development favourably affects the production functions of customers. Customers get more for less. Consumer customers get more satisfaction at less cost. This type of well-being generation can only partially be calculated from the production data. The situation is presented in this study. The producer community (labour force, society, and owners) earns income as compensation for the inputs they have delivered to the production. When the production grows and becomes more efficient, the income tends to increase. In production this brings about an increased ability to pay salaries, taxes and profits. The growth of production and improved productivity generate additional income for the producing community. Similarly the high income level achieved in the community is a result of the high volume of production and its good performance. This type of well-being generation – as mentioned earlier - can be reliably calculated from the production data.

Production growth and performance

Page 86

Page 87: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production gowth is often defined as a production increase of an output of a production process. It is usually expressed as a growth percentage depicting growth of the real production output. The real output is the real value of products produced in a production process and when we subtract the real input from the real output we get the real income. The real output and the real income are generated by the real process of production from the real inputs.

The real process can be described by means of the production function. The production function is a graphical or mathematical expression showing the relationship between the inputs used in production and the output achieved. Both graphical and mathematical expressions are presented and demonstrated. The production function is a simple description of the mechanism of income generation in production process. It consists of two components. These components are a change in production input and a change in productivity.

Components of economic growth (Saari 2006, 2)

The figure illustrates an income generation process(exaggerated for clarity). The Value T2 (value at time 2) represents the growth in output from Value T1 (value at time 1). Each time of measurement has its own graph of the production function for that time (the straight lines). The output measured at time 2 is greater than the output measured at time one for both of the components of growth: an increase of inputs and an increase of productivity. The portion of growth caused by the increase in inputs is shown on line 1 and does not change the relation between inputs and outputs. The portion of growth caused by an increase in productivity is shown on line 2 with a steeper slope. So increased productivity represents greater output per unit of input.

Production is a process of combining various material inputs and immaterial inputs (plans, know-how) in order to make something for consumption (the output). The methods of combining the inputs of production in the process of making output are often called technology. The production function can be

Page 87

Page 88: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

used as a rough measure of relative performance when comparing technologies.

In the case of a single production process (described above) the output is defined as an economic value of products and services produced in the process. When we want to examine an entity of many production processes we have to sum up the value-added created in the single processes. This is done in order to avoid the double accounting of intermediate inputs. Value-added is obtained by subtracting the intermediate inputs from the outputs. The most well-known and used measure of value-added is the GDP (Gross Domestic Product). It is widely used as a measure of the economic growth of nations and industries.

The growth of production output does not reveal anything about the performance of the production process. The performance of production measures production’s ability to generate income. Because the income from production is generated in the real process, we call it the real income. Similarly, as the production function is an expression of the real process, we could also call it “income generated by the production function”.

The real income generation follows the logic of the production function. Two components can also be distinguished in the income change: the income growth caused by an increase in production input (production volume) and the income growth caused by an increase in productivity. The income growth caused by increased production volume is determined by moving along the production function graph. The income growth corresponding to a shift of the production function is generated by the increase in productivity. The change of real income so signifies a move from the point 1 to the point 2 on the production function (above). When we want to maximize the production performance we have to maximize the income generated by the production function.

The production performance can be measured as an average or an absolute income. Expressing performance both in average (avg.) and absolute (abs.) quantities is helpful for understanding the welfare effects of production. For

Page 88

Page 89: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

measurement of the average production performance, we use the known productivity ratio

Average and marginal productivity (Saari 2011,8)

Real output / Real input.

The absolute income of performance is obtained by subtracting the real input from the real output as follows:

Real income (abs.) = Real output – Real input

The growth of the real income is the increase of the economic value which can be distributed between the production stakeholders. With the aid of the production model we can perform the average and absolute accounting in one calculation. Maximizing production performance requires using the absolute measure, i.e. the real income and its derivatives as a criterion of production performance.

The differences between the absolute and average performance measures can be illustrated by the following graph showing marginal and average productivity. The figure is a traditional expression of average productivity and marginal productivity. The maximum for production performance is achieved at the volume where marginal productivity is zero. The maximum for production performance is the maximum of the real incomes. In this illustrative example the maximum real income is achieved, when the production volume is 7.5 units. The maximum average productivity is reached when the production volume is 3.0 units. It is worth noting that the maximum average productivity is not the same as the maximum of real income.

Figure above is a somewhat exaggerated depiction because the whole production function is shown. In practice, decisions are made in a limited range of the production functions, but the principle is still the same; the maximum real income is aimed for. An important conclusion can be drawn.

Page 89

Page 90: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

When we try to maximize the welfare effects of production we have to maximize real income formation. Maximizing productivity leads to a suboptimum, i.e. to losses of incomes.

A practical example illustrates the case. When a jobless person obtains a job in market production we may assume it is a low productivity job. As a result average productivity decreases but the real income per capita increases. Furthermore the well-being of the society also grows. This example reveals the difficulty to interpret the total productivity change correctly. The combination of volume increase and total productivity decrease leads in this case to the improved performance because we are on the “diminishing returns” area of the production function. If we are on the part of “increasing returns” on the production function, the combination of production volume increase and total productivity increase leads to improved production performance. Unfortunately we do not know in practice on which part of the production function we are. Therefore a correct interpretation of a performance change is obtained only by measuring the real income change.

Production models

A production model is a numerical description of the production process and is based on the prices and the quantities of inputs and outputs. There are two main approaches to operationalize the concept of production function. We can use mathematical formulae, which are typically used in macroeconomics (in growth accounting) or arithmetical models, which are typically used in microeconomics and management accounting. We do not present the former approach here but refer to the survey “Growth accounting” by Hulten 2009.

We use here arithmetical models because they are like the models of management accounting, illustrative and easily understood and applied in practice. Furthermore they are integrated to management accounting, which is a practical advantage. A major advantage of the arithmetical model is its capability to depict production function as a part of production process. Consequently production function can be understood, measured, and examined as a part of production process.

Page 90

Page 91: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

There are different production models according to different interests. Here we use a production income model and a production analysis model in order to demonstrate production function as a phenomenon and a measureable quantity.

Objective functions

An efficient way to improve the understanding of production performance is to formulate different objective functions according to the objectives of the different interest groups. Formulating the objective function necessitates defining the variable to be maximized (or minimized). After that other variables are considered as constraints. The most familiar objective function is profit maximization which is also included in this case. Profit maximization is an objective function that stems from the owner’s interest and all other variables are constraints in relation to maximizing of profits.

Summary of objective function formulations (Saari 2011,17)

The procedure for formulating objective functions

The procedure for formulating different objective functions, in terms of the production model, is introduced next. In the income formation from production the following objective functions can be identified:

Maximizing the real income Maximizing the producer income Maximizing the owner income.

These cases are illustrated using the numbers from the basic example. The following symbols are used in the presentation: The equal sign (=) signifies the starting point of the computation or the result of computing and the plus or minus sign (+ / -) signifies a variable that is to be added or subtracted from the function. A producer means here the producer community, i.e. labour force, society and owners.

Page 91

Page 92: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Objective function formulations can be expressed in a single calculation which concisely illustrates the logic of the income generation, the income distribution and the variables to be maximized.

The calculation resembles an income statement starting with the income generation and ending with the income distribution. The income generation and the distribution are always in balance so that their amounts are equal. In this case it is 58.12 units. The income which has been generated in the real process is distributed to the stakeholders during the same period. There are three variables which can be maximized. They are the real income, the producer income and the owner income. Producer income and owner income are practical quantities because they are addable quantities and they can be computed quite easily. Real income is normally not an addable quantity and in many cases it is difficult to calculate.

Page 92

Page 93: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of production department

1. Production engineer.2. Production manager.3. Production designer.4. Production planner.

Page 93

Page 94: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production Engineer

Page 94

Page 95: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production manager

Page 95

Page 96: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production designer

Page 96

Page 97: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Production planner

Page 97

Page 98: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transports Department

Page 98

Page 99: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of Transports Department

1. Transportation manager.2. Transportation supervisor.3. Transportation clerk.4. Transport planner.5. Transportation coordinator.6. Distribution manager.

Page 99

Page 100: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transportation manager

Page 100

Page 101: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transportation supervisor

Page 101

Page 102: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transportation clerk

Page 102

Page 103: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transportation planner

Page 103

Page 104: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transportation coordinator

Page 104

Page 105: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Distribution manager

Page 105

Page 106: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

HR DepartmentDefinition: The department or support systems responsible for personnel sourcing and hiring, applicant tracking, skills development and tracking, benefits administration and compliance with associated government regulations.

A human resources department is a critical component of employee well-being in any business, no matter how small. HR responsibilities include payroll, benefits, hiring, firing, and keeping up to date with state and federal tax laws.

Any mix-up concerning these issues can cause major legal problems for your business, as well as major employee dissatisfaction. But small businesses often don't have the staff or the budget to properly handle the nitty-gritty details of HR. Because of this, more and more small businesses are beginning to outsource their HR needs.

HR outsourcing services generally fall into four categories: PEOs, BPOs, ASPs or e-services. The terms are used loosely, so a big tip is to know exactly what the outsourcing firm you're investigating offers, especially when it comes to employee liability.

A Professional Employer Organization (PEO) assumes full responsibility for your company's HR administration. It becomes a co-employer of your company's workers by taking full legal responsibility of your employees, including having the final say in hiring, firing, and the amount of money employees make. The PEO and business owner become partners, essentially, with the PEO handling all the HR aspects and the business handling all other aspects of the company.

By proper definition, a service is only a PEO when it takes legal responsibility for employees. But take note--some HR outsourcing services

Page 106

Page 107: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

like to use the recognized term "PEO" when they handle the primary aspects of HR like payroll and benefits, yet don't take this legal partnership.

Business Process Outsourcing (BPO) is a broad term referring to outsourcing in all fields, not just HR. A BPO differentiates itself by either putting in new technology or applying existing technology in a new way to improve a process. Specifically in HR, a BPO would make sure a company's HR system is supported by the latest technologies, such as self-access and HR data warehousing.

Application service providers (ASPs) host software on the Web and rent it to users--some ASPs host HR software. Some are well-known packaged applications (People Soft) while others are customized HR software developed by the vendor. These software programs can manage payroll, benefits and more.

E-services are those HR services that are web-based. Both BPOs and ASPs are often referred to as e-services.

It's important that you understand these service terms, but don't get too sidetracked by the names when interviewing potential outsourcing firms. The key to hiring the right outsourcing firm is knowing what services your company needs and then find an outsourcing firm that can provide them.

When you outsource HR functions, some services go with the "all-or-nothing" approach, requiring that they handle all your HR functions or none at all. Others offer their services "a la carte," meaning you can pick and choose from the services they offer. Typical services include:

Payroll administration, including produce checks, handling taxes, and dealing with sick time and vacation time.

Employee benefits, including health, medical and life insurance, 401(k) plans and cafeteria plans.

HR management, including recruiting, hiring and firing. This also includes background interviews, exit interviews and wage reviews.

Page 107

Page 108: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Risk management, including workers' compensation, dispute

resolution, safety inspection, office policies and handbooks.

Some services are full-service and will provide these as well as additional services like on-call consultants, who will come in to train or even settle a dispute.

Online services tend to be limited in their offerings, but you'll get added options like web access, which will allow you to view information (like benefits packages) and even make changes to such information online. Most will give you and your employees access to view their benefits plans, enroll in benefits, read policies, and make changes to current data.

What are the biggest advantages to outsourcing your HR needs? Does your business allow you the time to personally deal with federal and state employment laws? A big reason businesses turn to HR services is that they don't have the time, or expertise, to deal with this. And if you choose to go with a PEO, you can pass the legal responsibility of your employees onto them.

You may also save money. You can usually count on a reduced benefits rate when outsourcing to HR services. Because they buy so often from vendors, they usually get a discounted rate that they pass on to you.

If you opt for an online service (ASP/e-service), you don't have to purchase software, install it, and worry about configuring it. An ASP business model is hosting software, so you don't have to bother with additional software or installation.

So what are some key things you'll have to give up if you favor outsourcing to hiring a full-time, in-house HR department? There are some definite drawbacks to not having an HR manager in-house. An in-house HR person handles perks that you can't necessarily count on an outsourcing service to carry out--like looking into group offerings, building employee incentive programs, even taking care of recognition for employees' birthdays. And employees may want someone in-house--an impartial co-worker they can

Page 108

Page 109: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

trust and see daily--to turn to if they have a work-related problem or dispute with another co-worker.

Because an in-house HR person interacts daily with your employees, they will likely have more of an interest in your employees. For example, employees often appreciate having someone on staff who will help negotiate in their favor for certain benefits that are critical these days for employee retention (like 401(k) plans and vacation policies).

Also, in the case of using a PEO, giving up the right to hire and fire your employees may not be desirable for your particular business. Most PEOs insist that they have the final right to hire, fire, and discipline employees. While having the extra time and not having to deal with the stress of this may be appealing, you may not want this responsibility out of your hands.

And if you decide to use an e-service, the same issues you'd have with any ASP remain. When everything is stored and handled online, there are concerns about security as well as potential crashes, both of which can be detrimental to your business.

Common complaints about HR outsourcing range from payroll mix-ups to payroll not being deposited on time to denied medical claims.

So should you consider outsourcing? If you have fewer than 100 employees, it might not be a bad idea. At this size, you often don't have the resources for an in-house HR staff, so outsourcing is just right for you. You don't have to worry about managing all the details that are so critical to HR in your business, and most small-business owners just don't have the skills and experience to do so. Remember, HR functions must be handled correctly as close to 100 percent of the time as possible; slip-ups can cause your business major problems.

If you have at least 12 employees, consider a PEO. Most PEOs only take on businesses with at least a dozen employees. Get recommendations and references for PEOs, and consider one that is part of the NAPEO (National Association of Professional Employment Organizations). The NAPEO is

Page 109

Page 110: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

committed to educating PEOs. If a PEO is a member, it's a good sign that they are committed to being the best in the field.

If you're even smaller, online services are the way to go. These services are tailored to work with all sizes of businesses, even the smallest. You don't have to give up legal responsibility just yet, and you'll be able to easily access your information online. And since the charge is usually by user, you won't be overpaying.

If you're uncertain about outsourcing everything but know you don't have the staff or experience to keep it in-house, try outsourcing only certain parts, such as payroll and benefits. You can also purchase HR software right off the shelf to support any in-house efforts.

Whatever you decide, make sure to keep your employees in the loop. They'll appreciate knowing that you're seeking the most affordable solution for the business while doing your best to meet their needs.

Page 110

Page 111: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of HR Department

Page 111

Page 112: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

IT DepartmentThe Information Technology or IT department of a computer based or other company is one of the most important departments in any organization. The various fields of work which the employees of an IT department of a company are involved in are Hardware, software, technology, communications infrastructure and networking0.

The collaboration and coordination of all of these components make an IT department. There are different set of job duties for each of these components and hence a company hired or employees individuals with respective expertise for each of these fragments of the IT department.

Apart from these major fragments, there are other various tasks too which have to be carried out within the IT department of a company. Hence there are many job positions and levels of job titles which are occupied by individuals depending upon their knowledge, expertise, qualifications and experience. With the boom of Information Technology in the world, there has been tremendous growth in the job opportunity for people belonging to the field of IT.

Larger organizations may have more number of job titles whereas the smaller ones may use the same employee for different tasks. For better understanding of this diversification of job positions, the following part of the article shall help you as it gives clear and distinct division of the levels within the IT department of any company.

Page 112

Page 113: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Job titles of IT Department

1. Senior software engineer.2. Software developer.3. Systems administrator.4. Senior developer.5. Web integrator.6. Project manager.7. Solution architect.8. Information security specialist.9. Software engineer.10. Information technology manager.11. IT assistant.12. IT business analyst.

Page 113

Page 114: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Senior software engineer

Page 114

Page 115: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Software developer

Page 115

Page 116: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

System administrator

Page 116

Page 117: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Senior developer

Page 117

Page 118: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Web integrator

Page 118

Page 119: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Project manager

Page 119

Page 120: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Solution architect

Page 120

Page 121: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Information security specialist

Page 121

Page 122: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Software engineer

Page 122

Page 123: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

IT manager

Page 123

Page 124: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

IT assistant

Page 124

Page 125: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

IT business analyst

Page 125

Page 126: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Activity DiagramsActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes (i.e. workflows). Activity diagrams show the overall flow of control.

Activity diagrams are constructed from a limited number of shapes, connected with arrows. The most important shape types:

rounded rectangles represent actions; diamonds represent decisions; bars represent the start (split) or end (join) of concurrent activities; a black circle represents the start (initial state) of the workflow; An encircled black circle represents the end (final state).

Arrows run from the start towards the end and represent the order in which activities happen.

Hence they can be regarded as a form of flowchart. Typical flowchart techniques lack constructs for expressing concurrency However, the join and split symbols in activity diagrams only resolve this for simple cases; the meaning of the model is not clear when they are arbitrarily combined with decisions or loops.

While in UML 1.x, activity diagrams were a specialized form of state diagrams, in UML 2.x, the activity diagrams were reformalized to be based on Petri net-like semantics, increasing the scope of situations that can be modeled using activity diagrams. These changes cause many UML 1.x activity diagrams to be interpreted differently in UML 2.x

Page 126

Page 127: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Swim lane

A swim lane (or swimlane) is a visual element used in process flow diagrams, or flowcharts, that visually distinguishes responsibilities for sub-processes of a business process. Swim lanes may be arranged either horizontally or vertically. In the accompanying example, the swimlanes are named Customer, Sales, Contracts, Legal, and Fulfillment, and are arranged vertically.

Attributes of a swimlane

The swim lane flowchart differs from other flowcharts in that processes and decisions are grouped visually by placing them in lanes. Parallel lines divide the chart into lanes, with one lane for each person, group or subprocess. Lanes are labelled to show how the chart is organized.

In the accompanying example, the vertical direction represents the sequence of events in the overall process, while the horizontal divisions depict what subprocess is performing that step. Arrows between the lanes represent how information or material is passed between the subprocesses.

Alternately, the flow can be rotated so that the sequence reads horizontally from left to right, with the roles involved being shown at the left edge. This can be easier to read and design, since computer screens are typically wider than they are tall, which gives an improved view of the flow.

Use of standard symbols enables clear linkage to be shown between related flow charts when charting flows with complex relationships.

Page 127

Page 128: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Usage

When used to diagram a business process that involves more than one department, swimlanes often serve to clarify not only the steps and who is responsible for each one, but also how delays, mistakes or cheating are most likely to occur.

Many process modeling methodologies utilize the concept of swimlanes, as a mechanism to organize activities into separate visual categories in order to illustrate different functional capabilities or responsibilities (organisational roles). Swimlanes are used in Business Process Modeling Notation (BPMN) and Unified Modeling Language activity diagram modeling methodologies.

Alternative terms

A swim lane may also be referred to as a functional band (as it is in Visio 2007) and is used in the same way, to create a cross functional flowchart to map a process within the functional units of a business. The term functional band precedes the use of swimlane and is seemingly in decline as the preferred term.

Origin

Swim lane diagrams were proposed by Geary Rummler and Alan Brache in their book Improving Processes (1990). Swim lanes are also known as "Rummler-Brache Diagrams". Another possible origin of the term swim lane is as part of the JBoss jBPM jPDL (Process Definition Language) graphical process designer a part of the JBoss jBPM framework for process languages.

Page 128

Page 129: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Sales and marketing Department

Page 129

Page 130: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial Department

Production Department

Page 130

Page 131: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transport Department

Page 131

Page 132: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

HR Department1. Registration of a bike.2. Repair a vehicle in warranty period.3. Report attendance.

Page 132

Page 133: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

4. Give loans to employees.5. Enlist a bus to transport section.6. Enlist employers.7. Pay salaries to bus drivers.8. Get finance to a car.1.

Page 133

Page 134: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Registration of a Bike

Page 134

Page 135: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Repair a vehicle in warranty period

Page 135

Page 136: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Report attendance

Page 136

Page 137: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Give loans to employees

Page 137

Page 138: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Enlist a bus to transport section

Page 138

Page 139: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Enlist employers

Page 139

Page 140: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Pay salaries to bus drivers

Page 140

Page 141: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Get finance to a car

Page 141

Page 142: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

WireframesWireframes are collection of frames. They are connected by arrows.

Example:-

Page 142

Page 143: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Sales and Marketing Department

Page 143

Page 144: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Financial Department

Production Department

Page 144

Page 145: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

Transport Department

Page 145

Page 146: freedomjava.weebly.comfreedomjava.weebly.com/uploads/1/3/6/2/13621218/dang…  · Web view2018. 10. 4. · programming languages as a subset of computer languages. In this vein,

All rights reserved for freedom team

www.freedomjava.weebly.com

IT Department

Page 146