Save
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

WJEC CG3.8

Topic 8: Software Engineering

TermDefinition
Lexical analysis 1) Input stream broken into tokens 2) Comments and unneeded spaces removed 3) Symbol table produced to contain programmer-defined identifiers 4) Error messages generated if appropriate (must be listed in order).
Special Purpose Language 1) might have features relevant to the application 2) are available for simulation, control etc 3) might cost more / not be readily available etc
4GL 1) is a high level programming language 2) would be useful in a database query 3) has many features such as query, manipulation features 4) may have report generators and possibly application generators 5) may attempt to produce natural language interface
OO Language 1) uses objects - include both data and associated processing 2) enables production of buttons / icons etc - useful in a visual environment 3) uses features such as inheritance, encapsulation, etc (Accepted not expected)
Scripting Language 1) is a high-level programming language(once only) 2) is interpreted not compiled 3) is often embedded in other languages 4) can add functionality to web pages etc.
CASE tool is a computer program / piece of software used in the design or development of a computer application. (1)
CASE tool (Functions) 1) Provides a number of functions which assist with design/testing... 2) Provides a data dictionary, a diagram production feature, a code generator, repositories of reusable code, project management tools, incorporate version control & report generation.
Program trace/Step-through (Debugging program feature) enables the programmer to see the progress through the program - which statements/procedures are being executed at any time
Break point (Debugging program feature) allows the programmer temporarily to halt execution in order to ascertain the value of variables at that point (or to step through the program from that point)
Variable watch (Debugging program feature) lists the value of a variable at specific points during the execution
Store dump (Debugging program feature) lists the entire contents of memory at a specific point
Error diagnostics (Debugging program feature) provision of messages relating to errors in the program.
Post-mortem routines (Debugging program feature) enables programmer to see the values of variables at the point where the program failed.
Backus-Naur Form (BNF) -purpose is used to describe unambiguously the syntax / grammar / rules of a programming language.
Translation program converts the source code into machine code ready for execution by the computer.
Assembler program (function) converts a program written in assembly language machine code / binary / a form ready for execution by the computer. A programme might choose to use an assembler programme if the application requires maximum computer efficiency / performance.
Procedural vs Non-procedural language Non-procedural languages are to do with facts / rules / making queries. Procedural languages are concerned with carrying out actions / calculations etc. or obeying (ordered) set of instructions.
Visual programming languages (benefits) 1) Particularly suitable for production of objects / buttons / icons... 2) Particularly suitable for developing in a GUI content/event driven environment. 3) May be easier to learn / more intuitive because visual / very good help / tools available.
Application packages can have programming capabilities 1) Additional functionality can be added without a programmer / buying another package / program. 2) Can customise the package / tailor to specific needs etc.
Why is careful version control important? 1) If programmer A modifies current version, and programmer B modifies an earlier version, neither new version will contain both modifications 2) Any amendments must be made to the most recent versions.
Standardise computer languages 1) Program written in a certain language on one computer is likely to run easily on a different computer. 2) Programmer familiar with the language on one computer is likely to be able to adapt easily to working on a different computer/environment.
Relocatable code is program code which can be moved (by the operating system) from one area of computer memory to another.
Subprogram libraries contain (well-tested) utilities / common tasks, etc and can be used by any user, avoiding re-writing.
Why compile modules of a program separately 1) Modules do not need to be compiled each time they are required. 2) Modules can become a part of a subprogram library (or can be used again in another program). 3) Each can be (thoroughly) tested before using in the whole program.
Link loader (role) A link loader is a software tool which combines already compiled modules/subprograms into the executable program.
Link loader error 1) Link editor cannot find a compiled module/subprogram / it doesn’t exist 2) The number or type of parameters provided is wrong.
Compiler is a software tool which is used to translate a program in HLL into a LLL ready for execution on the computer. It has various stages: lexical analysis, syntax analysis, semantic analysis, code generation, and optimisation.
Lexical Analysis input stream is broken into tokens, spaces etc, removed
Syntax Analysis symbol table is produced, tokens are checked for fit to grammar
Semantic Analysis a check is made that all variables are declared, and operations are legal eg real values are not being assigned to integer variables
Code Generation machine code is generated
Optimisation the code is improved if necessary to make it more efficient / faster / less resource greedy. Produces error messages at any stage when needed.
Created by: mcounsell
Popular Computers sets

 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards