AdsenseCamp

Search Engine

Tuesday, October 14, 2008

Apple Software Update


Software Update is a software tool by Apple Inc. that installs the latest version of Apple software on computers running Mac OS X. It was originally introduced to Mac users in Mac OS 9. A Windows version has been available since the introduction of iTunes 7, under the name "Apple Software Update". Software Update automatically informs users of new updates. It is part of the CoreServices in OS X, found at /System/Library/CoreServices/Software Update.app, or by choosing Software Update from the Apple menu. Software Update can be set to check for updates daily, weekly, monthly, or not at all; in addition, it can download and store the associated .pkg file (the same type used by Installer) to be installed at a later date and maintains a history of installed updates.

Software Updates consist of incremental updates of the Mac OS and its applications, Security Updates, device drivers and firmware updates. All software updates require a password, as with all consequential system changes. Some updates require a system restart. Starting with Mac OS X 10.5, updates that require a reboot log out the user prior to installation and automatically restart the computer when complete; in earlier versions, the updates are installed, but critical files are not replaced until the next system startup.


Constructionist design methodology

The Constructionist Design Methodology (CDM) was developed by artificial intelligence (AI) researcher Kristinn R. Thórisson and his students at Columbia University and Reykjavik University for use in the development of cognitive robotics, communicative humanoids and broad AI systems. The creation of such systems requires integration of a large number of functionalities that must be carefully coordinated to achieve coherent system behavior. CDM is based on iterative design steps that lead to the creation of a network of named interacting modules, communicating via explicitly typed streams and discrete messages. CDM has been used in the creation of many systems including robotics, facial animation, large-scale simulation and virtual humans. One of the first systems was MIRAGE, a simulated human in an augmented-reality environment that could interact with people through speech and gesture.


Extreme Programming

Extreme Programming (or XP) is a software engineering methodology (and a form of agile software development) prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). Proponents believe that exercising these practices—traditional software engineering practices taken to so-called "extreme" levels—leads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality.

Proponents of Extreme Programming and agile methodologies in general regard ongoing changes to requirements as a natural, inescapable and desirable aspect of software development projects; they believe that adaptability to changing requirements at any point during the project life is a more realistic and better approach than attempting to define all requirements at the beginning of a project and then expending effort to control changes to the requirements.

However, XP has been noted for several potential drawbacks, as compared to more document-based methodologies, including problems with unstable requirements, no documented compromises of user conflicts, and lack of an overall design spec or document (see below: Controversial aspects).


Information Engineering

Information Engineering (IE) or Information Engineering Methodology (IEM) is an approach to designing and developing information systems. It has a somewhat chequered history that follows two very distinct threads. It is said to have originated in Australia between 1976 and 1980, and appears first in the literature in 1981 in the Savant Institute publication 'Information Engineering' by James Martin and Clive Finkelstein.

Information Engineering first provided data analysis and database design techniques that could be used by database administrators (DBAs) and by systems analysts to develop database designs and systems based upon an understanding of the operational processing needs of organizations for the 1980s.

The Finkelstein thread evolved after 1980 into the data processing (DP)-driven variant of IE. From 1983 till 1986 IE evolved further into the business-driven variant of IE, which was intended to address a rapidly changing business environment. The then Technical Director, Charles M. Richter, from 1983 to 1987, played a significant role by revamping the IE methodology as well as designing the IE software product (User-Data} which helped automate the IE methodology, opening the way to next generation Information Architecture.

The Martin thread was strategy-driven from the outset and from 1983 was focused on the possibility of automating the development process through the provision of techniques for business description that could be used to populate a data dictionary or encyclopedia that could in turn be used as source material for code generation. The Martin methodology provided a foundation for the CASE (Computer-Aided Software Engineering) tool industry. Martin himself had significant stakes in at least four CASE tool vendors - InTech (Excelerator), Higher Order Software, KnowledgeWare, originally Database Design Inc, (Information Engineering Workbench) and James Martin Associates, originally DMW and now Headstrong (the original designers of the Texas Instruments' Information Engineering Facility and the principal developers of the methodology). At the end of the 1980s and early 1990s the Martin thread incorporated Rapid Application Development (RAD) and Business Process Re-engineering (BPR) and soon after also entered the object oriented field.

Information Engineering Methodology is an architectural approach to planning, analysing, designing, and implementing applications within an enterprise. It aims to enable an enterprise to improve the management of its resources, including capital, people and information systems, to support the achievement of its business vision. It is defined as: "An integrated and evolutionary set of tasks and techniques that enhance business communication throughout an enterprise enabling it to develop people, procedures and systems to achieve its vision".

Information Engineering has many purposes, including organisation planning, business re-engineering, application development, information systems planning and systems re-engineering.


Top-down and bottom-up design

Top-down and bottom-up are strategies of information processing and knowledge ordering, mostly involving software, but also other humanistic and scientific theories (see systemics). In practice, they can be seen as a style of thinking and teaching. In many cases top-down is used as a synonym of analysis or decomposition, and bottom-up of synthesis.

A top-down approach is essentially breaking down a system to gain insight into its compositional sub-systems. In a top-down approach an overview of the system is first formulated, specifying but not detailing any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. A top-down model is often specified with the assistance of "black boxes" that make it easier to manipulate. However, black boxes may fail to elucidate elementary mechanisms or be detailed enough to realistically validate the model.

A bottom-up approach is piecing together systems to give rise to grander systems, thus making the original systems sub-systems of the emergent system. In a bottom-up approach the individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed. This strategy often resembles a "seed" model, whereby the beginnings are small but eventually grow in complexity and completeness. However, "organic strategies" may result in a tangle of elements and subsystems, developed in isolation and subject to local optimization as opposed to meeting a global purpose.


Structured Systems Analysis and Design Method

Structured Systems Analysis and Design Method (SSADM) is a systems approach to the analysis and design of information systems. SSADM was produced for the CCTA, a UK government office concerned with the use of technology in government, from 1980 onwards. The names "Structured Systems Analysis and Design Method" and "SSADM" are now Registered Trade Marks of the Office of Government Commerce (OGC), which is an Office of the United Kingdom's Treasury.

Techniques

The 3 most important techniques that are used in SSADM are:
1.Logical Data Modeling. This is the process of identifying, modeling and documenting the data requirements of the system being designed. The data are separated into entities (things about which a business needs to record information) and relationships (the associations between the entities).
2.Data Flow Modeling. This is the process of identifying, modeling and documenting how data moves around an information system. Data Flow Modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow).
3.Entity Behavior Modeling. This is the process of identifying, modeling and documenting the events that affect each entity and the sequence in which these events occur.

(Redirected from Structured Systems Analysis and Design Methodology)

Structured programming

Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO statement.

Historically, several different structuring techniques or methodologies have been developed for writing structured programs. The most common are:
Edsger Dijkstra's structured programming, where the logic of a program is a structure composed of similar sub-structures in a limited number of ways. This reduces understanding a program to understanding each structure on its own, and in relation to that containing it, a useful separation of concerns.
A view derived from Dijkstra's which also advocates splitting programs into sub-sections with a single point of entry, but is strongly opposed to the concept of a single point of exit.
Data Structured Programming, which is based on aligning data structures with program structures. This approach applied the fundamental structures proposed by Dijkstra, but as constructs that used the high-level structure of a program to be modeled on the underlying data structures being processed. There are at least 3 major approaches to data structured program design proposed by Jean-Dominique Warnier, Michael A. Jackson, and Ken Orr.

The two latter meanings for the term "structured programming" are more common, and that is what this article will discuss. Years after Dijkstra (1969), object-oriented programming (OOP) was developed to handle very large or complex programs (see below: Object-oriented comparison).