Busy. Please wait.

show password
Forgot Password?

Don't have an account?  Sign up 

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.
We do not share your email address with others. It is only used to allow you to reset your password. For details read 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.

Remove Ads
Don't know
remaining cards
To flip the current card, click it or press the Spacebar key.  To move the current card to one of the three colored boxes, click on the box.  You may also press the UP ARROW key to move the card to the "Know" box, the DOWN ARROW key to move the card to the "Don't know" box, or the RIGHT ARROW key to move the card to the Remaining box.  You may also click on the card displayed in any of the three boxes to bring that card back to the center.

Pass complete!

"Know" box contains:
Time elapsed:
restart all cards

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


Topic 8: Software Engineering

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