Académique Documents
Professionnel Documents
Culture Documents
The primary distinguishing characteristic of systems programming when compared toapplication programmingis thatapplicationprogramming aims to produce software which provides services to the user (e.g.word processor), whereas systems programming aims to produce software which Click to edit Master subtitle style provides services to thecomputer hardware(e.g.disk defragmenter).
can operate in resource-constrained environments is very efficient and has littleruntimeoverhead has a smallruntime library, or none at all allows for direct and "raw" control over memory access andcontrol flow programmer write parts of the program
lets 7/25/12the
Debuggingcan be difficult if it is not possible to run the program in a debugger due to resource constraints. Running the program in asimulated environmentcan be used to reduce this problem. Systems programming is sufficiently different from application programming that programmers tend to specialize in one or the other.
7/25/12
In system programming, often limited programming facilities are available. The use ofautomatic garbage collectionis not common anddebuggingis sometimes hard to do. Theruntime library, if available at all, is usually far less powerful, and does less error checking. Because of those limitations,monitoringandloggingare often used;operating systemsmay have extremely elaborated logging sub systems. Implementing certain parts in operating system and networking requires systems programming (for example implementing Paging (Virtual Memory) or adevice driverfor an operating system). 7/25/12
Procedural language is a programming language that requires programming discipline, such as C/C+ +, Java, COBOL, FORTRAN, Perl and JavaScript. Also called an "imperative language," programmers writing in such languages must develop a proper order of actions in order to solve the problem, based on knowledge of data processing and programming
7/25/12
Event-Driven Language
It is not procedural but external actions or events that are initiated. By the user dictates the control flow of the program.
VISUAL BASIC
Visual Basic is one of the most widely used programming languages in the world. The major reason for its popularity is that it allows programmers to create Windows applications quickly and easily. The origins of Visual Basic are found in a programming language created in 1964 by John Kemeny and Thomas Kurtz. BASIC (Beginners All-purpose Symbolic Instruction Code) was originally an interpreted language that was designed to simplify the programming process and make programming more accessible to the world at large. Using that philosophy, Microsoft integrated a BASIC interpreter into its operating system MS-DOS. Despite its wide distribution and relative simplicity, BASIC was not able to compete with faster, compiled languages such as C or C++. Thus, BASIC was commonly used for trivial or educational purposes, whereas "real" applications were usually developed in other languages.
7/25/12
object-oriented language (OOL)A programming language used inobject-oriented programming. In such a system the concept of procedure and data, which is embodied in conventional programming systems, is replaced by the concepts ofobjectsand messages: an object is a package of information and a description of its 7/25/12 manipulation, and a message is a
MODULAR PROGRAMMING
A programming style that breaks down program functions into modules, each of which accomplishes one function and contains all the source code and variables needed to accomplish that function. Modular programming is a solution to the problem of very large programs that are difficult to debug and maintain. By segmenting the program into modules that perform clearly defined functions, you can determine the source of program errors more easily. Object-orientated programming languages, such as Small Talk and Hyper Talk, incorporate modular 7/25/12 programming principles.
Program efficiency is usually considered from the point of view of optimizing code. Selecting a proper data structure can have a remarkable effect on the efficiency of the Click to edit Master subtitle style final program. In this paper it is shown how one problem can be solved in several ways using several different data structures. The efficiency of the programs depends on the data structures selected.
7/25/12
MAINTENANCE EFFICIENCY
Modules are easier to analyze and change which reduce the start up time during the maintenance.
CONTROL
7/25/12
In modular programming the programmers will split their code into small sections of code. The small sections can be called as modules. Each module is split into sub-modules and the submodules are known as calling modules. It is difficult to debug and maintain very large programs. Modular programming is subdividing such type of large programs into separate subprograms.
7/25/12
It is easy to understand small sections of code in the modular programming. You can store the code across multiple files. Modular programming allows collaborative programming. Collaborative programming means more than one program work in one application at the same time. Duplication of code is not possible in modular programming. The programmers create a single procedure for code. The errors are localized to a subroutine or function and it is easy to find the errors. The code should be used in multiple applications in modular programming.
7/25/12
SYSTEM TESTING
Database and structure created and populated with data equipment is purchased and installed, employees are trained, the system is documented and the new system is installed.
7/25/12
System testingof software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specifiedrequirements. System testing falls within the scope ofblack box testing, and as such, should require no knowledge of the inner design of the code or logic.As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passedintegration testingand also the software system itself integrated with any applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies between the software units that are integrated together (calledassemblages) or between any of theassemblagesand the hardware. System testing is a more limited type of testing; it seeks to detect defects both within the "inter-assemblages" and also within the system as a whole.
7/25/12
The System Requirements Specification (SRS) document describes all data, functional and behavioral requirements of the software under production or development. This 10-section template covers the overall description of the system/software to be implemented, use cases and scenarios, data model, functional and non-functional requirements, interface and behavioral 7/25/12
WHAT IS CASE?
7/25/12
Computer-aided software engineering (CASE) is the application of the computer to the software development process. CASE automates program design and coordinate design specification. It also facilitates screen and report design and writes code. CASE is a rapidly emerging methodology wherein the computer takes over tasks that traditionally where perform manually.
7/25/12
CASE consists of a group of software tools and techniques that may be run of a desktop computer or large mainframe to handle the development task in an environment of maximum programmer productivity. It uses data dictionaries, data models, and other elements. With CASE, software developers can produce software more quickly and at a lower cost.
7/25/12
is the earliest language developed for computers. consisted of code written as strings of ones and zeros that directed the machine to perform specific function
Click to edit Master subtitle style
ASSEMBLER LANGUAGE
7/25/12
These languages were developed to reflect the way programmers thought and worked. For instance, FORTRAN was patterned after mathematical equations and COBOL after ordinary business english.
COMPILERS
Since computers do not understand english or mathematics for that matter, special conversion programs known as COMPILERS were needed. These COMPILERS converted english or mathematic instructions into machine language. This represented another step toward automation.
7/25/12
These are refinements and extensions of earlier languages.ADA, Pascal, C and some advanced dialects of BASIC came in to use. These further separated the programmer from the details of the machine.
FOURTH-GENERATION LANGUAGE
It does not require the programmer to adhere strictly to rules of language syntax and structure. These new high-level languages are an attempt to further removed programmers from language details and allow them to focus on the problems being solved.
7/25/12
BASI FORTRAN FORT C IV H Click to edit Master subtitle style Macro Assembl er FORTR AN Assembler Language Machine Language
7/25/12
Operating system programming Scientific and mathematical applications Interactive application Resembles english
7/25/12
7/25/12
the traditional software development life cycle begins with a definition of the problem, followed by diagramming. The problem is then coded in a specific language, creating a program. The program is tested to edit Master subtitle style Click and debugged, and then documentation is completed. The steps involved in flowcharting, coding, running and debugging may be repeated many times until a functional program is developed.
7/25/12
DESIGN WALKTHROUGH
Is a procedure in which a programmer or analyst manually checks through each module or block of program coded to check its accuracy and completeness. It detects errors in logic and coding early in the programming cycle so that they can be corrected easily.
7/25/12
Problem definition Construction of data dictionary Construction of screens and reports Analysis code generation Integrated documentation
7/25/12
As in traditional programming, the first step is the preparation of a clear problem statements. Before programming can be written, user needs must be assessed and input and output requirements defined.
7/25/12
DATA DICTIONARY
Throughout the process a data dictionary is used to provide consistency of variables, entities, and screens. This is an important distinction between traditional programming and CASE.
7/25/12
7/25/12
ANALYSIS
A variety analytical tools are available in Excelerator. For example, a programs logic can be analyzed for inconsistencies, omissions, or redundancies, using available graphics edit Master subtitle Excelerator can techniques. style Click to analyze logic levels and detect programming logic in an exploded module that may properly belong in a lower or higher level module.
7/25/12
CODE GENERATION
One of the most laborious tasks in programming is the actual writing of code. CODE is the conversion of logical steps or screens and report content into instructions that the computer can understand. DATA MAP is consistent with the variable names used, not only on the display screen but throughout the program, and is easily converted to programming code.
7/25/12 Click to edit Master subtitle style
DOCUMENTATION
In traditional programming, documentation is the last step completed in the process, often done after the programmer has forgotten specific details. In CASE, the documentation process automatically begins early in the software development cycle.
7/25/12
PHYSICA L DESIGN
7/25/12
PHYSICAL DESIGN
The purpose of physical design is to specify all the technological characteristics of the system so that those involved in the implementation phase can concentrate on building the system, not on deciding how the system should be built.
7/25/12
2.
3.
Designing physical files and Databases: Describes how data will be stored and access in secondary computer memory and how the quality of data will be insured. Designing system and program structures: Describes the various programs and program modules which correspond to the data flow diagrams and other documentation developed in prior life cycle stages. Designing distributed processing strategies: Describes how your system will make data and processing available to users on Click to edit Master subtitle style computer networks within the capabilities of existing computer networks.
7/25/12
7/25/12
Designing physical files and databases requires certain information that should have been collected and produce during prior SDLC phases. The information needed for physical file and databases includes these requirements: Normalized relations, including volume estimates Definitions of each attribute Descriptions of where and when data are used: entered, retrieved, deleted, and updated (including Click to edit Master subtitle style frequencies) Expectations or requirements for response time and data integrity Descriptions of the technologies used for implementing the files and database so that the range of required decisions and choices for each is known.
7/25/12
Designing Fields
A field is the smallest unit of application data recognized by system software, such as a programming language or database management system. In general, you will Click to each attribute representedit Master subtitle style from each normalized relation as one or more fields.
7/25/12
7/25/12
Controlling Data Integrity an explicit value is Default Value: The value a field will assume unless
entered for a field. Picture Control: A pattern of codes that restricts the width and possible values for each position within the field. Range Controls: Both numeric and alphabetic data may have a limited set of permissible values. Referential Integrity: The term referential integrity was defined as limiting values for a given attribute to the existing values of another Click to edit Master subtitle style attribute in data model. Null Value Control: Is a special field value, distinct from 0, blank, or any other value, that indicates that the value for the field is missing or otherwise unknown
7/25/12
7/25/12
related field or record of data. Access method: An operating system algorithm for storing and locating data in secondary memory. File Organizations: A technique for physically arranging the records of a file on secondary storage devices. Sequential File Organizations: The records in the file are stored in sequence according to a primary key value. Indexed file organization: The records are either stored sequentially or non-sequentially and an7/25/12 is created that allows software to locate index
7/25/12
7/25/12
7/25/12
Audit Trial
A list of changes to a data files which allows business transactions to be traced. Both the updating and use of data should be recorded in the audit trial, since the consequences of bad data should be discovered and corrected.
7/25/12
Encryption
7/25/12