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.

Topic 8: Software Engineering

Quiz yourself by thinking what should be in each of the black spaces below before clicking on it to display the answer.
        Help!  

Term
Definition
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.  
🗑


   

Review the information in the table. When you are ready to quiz yourself you can hide individual columns or the entire table. Then you can click on the empty cells to reveal the answer. Try to recall what will be displayed before clicking the empty cell.
 
To hide a column, click on the column name.
 
To hide the entire table, click on the "Hide All" button.
 
You may also shuffle the rows of the table by clicking on the "Shuffle" button.
 
Or sort by any of the columns using the down arrow next to any column heading.
If you know all the data on any row, you can temporarily remove it by tapping the trash can to the right of the row.

 
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
Created by: mcounsell
Popular Computers sets