Application development = documentation processing

Similar documents
Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Introduction to Systems Analysis and Design

Writing Reports BJECTIVES ONTENTS. By the end of this section you should be able to :

CDC UNIFIED PROCESS PRACTICES GUIDE

Five High Order Thinking Skills

Agile Scrum Workshop

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Software Development Life Cycle (SDLC)

BPMN Business Process Modeling Notation

Lesson Plan. Preparation

DevOps Engineer Position Description

IMPLEMENTATION OF THE PROCESS APPROACH AND BUSINESS PROCESS MANAGEMENT CONCEPT IN CROATIAN SHIPYARDS

Software Engineering. What is a system?

Computer Integrated Manufacturing Course Description

INFORMATION TECHNOLOGY PROGRAMMER/ANALYST

Fourth generation techniques (4GT)

Chapter 11: Integrationand System Testing

Results Unlimited White Paper. Instructional Strategies for the Development of E-learning

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

An Introduction to. Metrics. used during. Software Development

Manage Software Development in LabVIEW with Professional Tools

Teaching Methodology for 3D Animation

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

CORPORATE INFORMATION AND TECHNOLOGY STRATEGY

Software Engineering Reference Framework

Business Architecture: a Key to Leading the Development of Business Capabilities

Work Process Management

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

Axiomatic design of software systems

Chapter 4: Tools of Modern Systems Analysis

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

B.Com(Computers) II Year RELATIONAL DATABASE MANAGEMENT SYSTEM Unit- I

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

PinkVERIFY IT SERVICE MANAGEMENT TOOLS: COMPATIBILITY CONSIDERATIONS

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

Chapter 7: Structuring System Process Requirements

Development Methodologies Compared

Overseas Investment in Oil Industry and the Risk Management System

1. Process Modeling. Process Modeling (Cont.) Content. Chapter 7 Structuring System Process Requirements

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

STATE OF NEVADA Department of Administration Division of Human Resource Management CLASS SPECIFICATION

LECTURE 11: PROCESS MODELING

Chapter 11: Integration- and System Testing

Stages of Decision Making. Chapter 15: Decision Support System and Executive Information System. Structured vs. Unstructured Decision Stages

Analytic Modeling in Python

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

1. Adult behavior can be changed to some extent. 2. Adult education should be designed to help people mature and grow.

Develop Project Charter. Develop Project Management Plan

Information Management & Data Governance

ESKITP5023 Software Development Level 3 Role

THIRD REGIONAL TRAINING WORKSHOP ON TAXATION. Brasilia, Brazil, December 3 5, Topic 4

Does function point analysis change with new approaches to software development? January 2013

ADAPTATION OF EMPLOYEES IN THE ORGANIZATION AND ITS IMPORTANCE IN TERMS OF HUMAN RESOURCE MANAGEMENT

Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders

Information Technology Career Field Pathways and Course Structure

22C:22 (CS:2820) Object-Oriented Software Development

General syllabus for third-cycle courses and study programmes in

Group Dynamics. Sociological Criteria of a Group. Chapter

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Leadership and Management Competencies

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

Kindergarten Math Content 1

Nexus Guide. The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development. Developed and sustained by Ken Schwaber and Scrum.

Online Training Program

Smarter Balanced Assessment Consortium. Recommendation

SDI Network Engineer Position Description

Development, Acquisition, Implementation, and Maintenance of Application Systems

Computer Integrated Manufacturing CIM A T I L I M U N I V E R S I T Y

Getting Ahead of Data Governance

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

I Opt (Input Output Processing Template)

SanDisk ION Accelerator High Availability

Systems Programmer/Analyst (12203) ( )

Agile Business Suite (AB Suite)

Principles of Data-Driven Instruction

(Refer Slide Time: 01:52)

Implementation Guide Corporate egateway

TEACHERS VIEWS AND USE OF EXPLANATION IN TEACHING MATHEMATICS Jarmila Novotná

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Emotional Intelligence Self Assessment

Flowcharting, pseudocoding, and process design

Developing Base Ten Understanding: Working with Tens, The Difference Between Numbers, Doubling, Tripling, Splitting, Sharing & Scaling Up

Code Kingdoms Learning a Language

DIFFICULTIES AND SOME PROBLEMS IN TRANSLATING LEGAL DOCUMENTS

Professional Engineers Using Software-Based Engineering Tools

Quality Management in Purchasing

Cheadle Primary School Computing and ICT Policy

Basic Trends of Modern Software Development

Draft dpt for MEng Electronics and Computer Science

Organizational Design Toolkit

Sample Career Ladder/Lattice for Information Technology

Grade 4 - Module 5: Fraction Equivalence, Ordering, and Operations

2 SYSTEM DESCRIPTION TECHNIQUES

Transcription:

Application development = documentation processing Software is documented information about activities, that can be transformed into executable computer instructions performing the activities as documented. Common business application development involves several levels of documentation, where IT specialists work together with businessmen to compose the documentation. At the higher levels of development the transformation to the next level is mainly an activity to guide the transition of the documented information from a business oriented approach into a computer oriented one. The documentation producing human brain has to perform the transition and must resolve incompleteness and inconsistencies. The transformation to the lowest level is mainly an automated translation of a programming language into executable code, a series of operations that the computer can perform to accomplish an activity. The objective of this analysis: Look after the best documentation processing techniques that suit application development in assisting the human mind of IT specialists and businessmen.

Some key obstacles in documentation Software developers and businessmen speak different languages It is difficult to document the development process in such a way that both software developers and businessmen can sufficiently comprehend it. Software techniques insufficiently match business approaches Traditional programming languages have severe technical limitations in the way (sub-)activities can communicate with each other. A lack of rigid interconnections between the subsequent levels of documentation As the structure of the documentation is different at each development level, it is hard to almost impossible to maintain relationships, inhibiting thorough verification for completeness and correctness. A program as a list of instructions is an inferior documentation method Reading a sequence of instructions results in a restrictive use of the human brain. Graphical structuring could highly improve the documentation. Dynamic links should improve the access and overview.

Optimize the opportunities of the human brain To improve the efficiency of development: Ease and stimulate the achievements of the brain of everybody involved in the development process The development tool should support this by: structuring natural simplicity attracting attention avoiding distraction suiting the personal needs

Business application development can be enhanced by addressing some main problem areas. + = Two different worlds 1 + 1 = 2 The business world looks at a software application as a logical manipulation of business data, where the computer is replacing the activities of its personnel. In that perception, business information is passing on between (automated) persons and/or departments performing the required sub-activities. Each of them has the necessary knowledge about the data to be manipulated, how to access the data, and how and when to pass on the resulting information. The timing of the (sub-)activities can be very flexible, based on their interdependencies, such as an implicit logical or practical sequence and the availability of the (intermediate) information. Distributed and parallel activities fit together in a natural style. The data manipulation process comes into existence in a natural way. It may grow and change very easily. Unexpected situations are generally resolved rather simply, as the knowledge is nearby. The common software development world looks at an application as a technical process, in line with the way the computer manipulates data. As such, an application consists of an explicitly predetermined sequence of nested (sub-)processes that pass on pieces of data storage containing business data, but also temporary data and other information that may be required to control elements of the process. Execution flow and data flow are intermixed in a rigid pattern, technically related to the procedural type of execution and storage management of the computer system. Distributed and parallel processing require sophisticated technical implementations. The software application should cover all possibilities even the (initially) unexpected, unknown situations from the first moment on. Shortcomings and errors may be difficult and time-consuming to be resolved. to be brought together

Page 5 Can the precise and abstract thinking IT technicians build quality software based on the intricate composition of faintly defined activities of a business world they are not familiar with? Can trade-oriented businessmen verify the correctness of software that is presented to them in computer terminology and technology they are not familiar with?

How tto iimprrove tthe cooperattiion bettween busiiness and applliicattiion devellopmentt? Software development tools should make it possible for businessmen to participate more actively, intensively and vigorously in the development process. This should force them into a position of business designer and controller, at global and specific levels, where deficiencies are not acceptable. Both parties have to share to some extent a common documentation, to clarify the intended and proposed application structures to both, allowing mutual verification. Use a bridging development tool, with a common view but with individualizing faces common types of relationship between activities a common style of decomposition of activities and data

A development tool that suits IT specialists and businessmen A tool that supports the human brain, in line with the way the brain deals with information in the analysis and synthesis steps of both business oriented and IT people. Graphical elements should play a major role, as they express ideas in a more abstract way, reducing the actual need of specific knowledge and they enhance the recognition and the recording in the brain.

A key warning sign on the road to business application development:? Stay as close as possible to the approach of the businessmen. UNEXPECTED SITUATIONS HAVE TO BE EXPECTED ALONG THE WHOLE ROAD

Some differences between the way of thinking about activities in the regular world and in the current IT world A deliberately chosen unrealistic example, to emphasize some of the differences: How do we do the dishes? wash yourself! dry yourself! communicating activities communicating objects a familiar, human style of interacting subdivided activities using a natural flow through of items enabling the subsequent activities controlling the execution sequence in a naturally limited way a style as could be expected in a world of robots, only familiar to trained programmers using a message interface to command the objects to execute activities on themselves controlling the execution sequence stringently as defined by the sequence of the list of messages

wash yourself! Communicating activities or? dry yourself! communicating objects The Object-Oriented development approach is based on communicating objects and Flow-Based Programming is based on communication between activities. But, both have limited, rigid coordination concepts. In real life, coordination is more open-ended. The lack of a flexible coordination of data and activities is a major bottleneck in business application development.

A next step in the humanization of the computer interface? For decades applications have been built using the features of operating systems closely following the Von Neumann computer architecture. Such an application consists of nested modules, each owning the data storage obtained at that level, suiting the (mathematical) function approach. In order to support object-oriented programming, the ownership of the data storage keeping the object data has to be centralized at a high level. The storage management has to be upgraded. The execution management has been upgraded to a more dynamic level. To support coordination-based programming, execution management needs an additional coordination facility to guide the local exchange of data and information and to control the execution sequence. The degree of flexibility that can be provided by the coordination facility will define that gap that may remain between the human brain and the computer.

Decompose + coordinate DIVIDE ET IMPERA divide and rule a well-known historical advise. Although it was intended as a combination of political and military strategy, this maxim is often used as a powerful natural strategy in daily complex situations. Divide complex items such that each part will be easier to comprehend, to describe, to manage. But dividing into parts introduces new load: the coordination of the parts has to be managed. All application development methods use decomposition techniques. But at the various stages they only deal with part of the interrelationships. Different types of charts show a specific type of relationship between items, but only in the program code itself all relationships will be expressed together. The documentation should provide a clear picture, as a structure of building blocks showing all the interrelations between the components. Show how it is divided and how it is being coordinated.