Jerry | Date: Monday, 26/09/2011, 11:25 AM | Message # 1 |
 Ford Everest
Group: Administrators
Messages: 137
Status: Offline
| A program/application that helps you to develop software (create new pieces of, maintain, debug, or support software). *has a GUI to offer easy access to the user *shows errors, and suggests solutions how to correct them *possibly works with color codes, highlighting different types of commands *The user can let the software show the output
Examples include: *HTML editor Allows programmers to create web pages in HTML format. It might include auto completion features and predefined blocks of code to speed up the development of the web page. *Java development environments: ex. BlueJ, Eclipse *Visual IDE (Integrated Development Environment) *Database management systems (DBMS) A database management system (DBMS) is computer software that manages databases. They allow a user to create databases without the need to write the specific computer code. DBMSes may use any of a variety of database models, such as the network model or relational model. *Macros In word processors, for example, repetitive tasks can be programmed into macros, speeding up the process by performing a series of tasks in only a very little time, which would otherwise take considerably longer, if done manually. *Computer aided software engineering (CASE) Computer aided software engineering tools are development environments for whole teams of programmers. Certain processes of the development process can be simplified, automated and managed. Ex. there are tools for (quote from "Computer Science Java Enabled": *Summarizing initial requirements. *Developing flow diagrams. *Scheduling development tasks. *Preparing documentation. *controlling software versions. *Developing program code. *Language Translators (also called 'source to source translator', or 'language converter') Translate code from one high-level language to another.
|
|
| |
Jerry | Date: Monday, 26/09/2011, 11:35 AM | Message # 2 |
 Ford Everest
Group: Administrators
Messages: 137
Status: Offline
| Software Development Tools
[ DBMS | macros | CASE | HTML/Web page editors ] [ code specification editor | visual IDE ]
DBMS In a typical high-level language application, the programmer defines files to hold data such as personnel or medical records. As a company expands, new requirements and new data on employees may be required and the original files modified. It can easily happen that the same data is kept in different files and in different formats .
A DBMS ( Database Management System ) provides an interface which makes data access simple for both users and system developers. It provides the following key functions:
. "Hiding" the internal structure of the data from the users . Managing a data dictionary (contains detailed information about database structure, access rights and relationships between data items) . Managing database safety and security (scheduling backups, controlling access rights and sharing violations)
MACROS Many integrated applications packages (Office Software like Office 2000, Corel Office or Star Office) also offer ways to automate common tasks. These usually use some form of high level language (such as MS VBA - Visual Basic for Applications or ObjectPAL in Corel Paradox). Typically these work via a "macro recorder" which allows you to record sequences of keystrokes for later playback .
As an example consider a paragraph in MS Word that contains several sentences which you want to split into a list. You could record the following keystrokes using Tools|Macro |Record New Macro...
Use Edit|Find to locate the first full stop (period) Hit the return key Select Stop recording
You can then assign the macro to a shortcut key (Alt-Ctrl-S, say) and quickly separate the required lines.
CASE Computer Aided Software Engineering . Software Engineering covers all of the activities in the Systems Life Cycle from initial problem analysis to final testing . There are a number of standard techniques which can be applied at each stage (eg data flow diagrams, condition-action tables, state transition diagrams) some of which you will learn about in other parts of the course.
Because these are standard techniques they can be implemented in a software package.
HTML Editors and Web page editors In order to develop successful computer applications (software) it is not always necessary (or desirable) to use High Level languages such as those described above. Many information systems can be built with software development tools .
HTML (HyperText Markup Language) was developed as a way of exchanging documents between different computer systems. Commands or <tags> inserted into the original (source) documents are used to show special features.
For example the a heading can have a tag <H3> at the beginning and another <\H3> at the end to show that it is a level 3 heading. Other tags determine font styles , colours , sizes:
Other tags determine font <strong>styles</strong>, <font color="#FE072D"> <strong>colours</strong></font>, <font size="+1"> sizes:</font>
The computer program that interprets these tags is called a browser - you are probably using Internet Explorer, Mozilla Firefox or Safari if you are a Mac user.
However, there are other browsers for other systems and the way the tags are interpreted will vary from browser to browser. Some systems can only show text or limited graphics so the common language HTML can only "suggest" what the browser/hardware should do. The people who compose HTML documents do not have total control over their appearance.
For those interested a pretty substantial list is given on this site.
Here is an excellent page for html and JavaScript tutorials .
Some HTML tools are editors - these work directly with the code; a good free example is FirstPage from Evrsoft. [screenshot, opens in new window].
Other tools like FrontPage or Dreamweaver are webpage editors which use high level tools to set things like font size and colour - using these tools you may never need to see the html tags at all. [FrontPage screenshot, opens in new window].
Some allow both like DreamWeaver. [screenshot of Dreamweaver, opens in new window]
Search engines There are just as many search engines as browsers. The job of a search engine is to retrieve hyperlinks to pages that you want. The problem, as ever, is specifying what you want. There is an excellent page on this subject at:
http://webquest.sdsu.edu/searching/fournets.htm
which features the Google search engine - one of the most popular, of course. For a full list of search engines and their features try:
http://www.searchengineshowdown.com/features/
New search engines on the market have special requirements but can be useful for generic searches. The best of these at the time of writing is probably kartoo which requires Flash.
http://www.kartoo.com/
Code Editors Code editors are designed to make the writing of program code easier. They often feature:
syntax highlighting - to help you spot syntax errors . Keywords are in a different colour for example. Also quoted strings are also coloured differently which makes it easier to spot when they haven't been terminated properly. Many of the screenshots above illustrate this feature (see, FirstPage for example).
automatic indenting - this helps you get a smart layout and keep it after you have edited bits in or out. It's a pain to keep typing spaces by hand.
auto-completion - common keywords or groups of them can be completed automatically by some code editors. If it's a library method , the editor may be able to remind you of the required parameters .
This is in addition to the normal features you would expect of any editor - cut, copy, paste, find, replace etc.
Visual IDE's
An IDE is an Integrated Development Environment which usually includes all the tools you need to develop applications such as:
A code editor (with syntax highlighting) A compiler for the target platform A debugger A set of library routines A GUI editor (for some languages) An excellent example of such an editor for java is the NetBeans IDE (http://www.netbeans.org ) which is free. However, it is very demanding of resources (needs a lot of memory and disc space) and pretty hard for beginning programmers.
An IDE helps the programmer by helping them to organise their code and to spot syntax errors quickly (using the syntax highlighting ).
The debugger can be used to step through the code line by line and watch various identifier values change.
Programmers can add their own specialist routines to the library which speeds up development of projects.
BlueJ from http://www.bluej.org includes most of these features (not the GUI editor) and is also free but considerably easier to use and much less resource-hungry.
|
|
| |