Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
28 Cards in this Set
- Front
- Back
What is software engineering? |
The establishment & use of sound engineering principles in order to obtain economical software that is reliable & works efficiently |
|
Relationship between Software engineering & Computer Science ? |
SE - concerned with software production process CS - Focuses on theory and computer functionality |
|
What was the great software crisis of the 1960's about? |
The individual approaches to program development did not scale up to large complex software systems. |
|
Name the 4 factors that impact the quality of a software product |
Acceptability - understandable & usable Dependable & Secure - secure from malicious users. Efficiency - proper resource utilization Maintainability - written in a way that allows ti to evolve |
|
What is off the shelf software? |
stand alone systems & are sold to any customer who is able to purchase. |
|
What is customizable software? |
developed for a particular customer/business |
|
What is one-of-a-kind software? |
designed for a specific and unique need |
|
What is a computer application software engineer? |
Creates application programs that have a precise purpose. |
|
What is a computer system software engineer? |
Designs software needed to make a system run |
|
What are the four major software engineering process activities? |
Specification Design & implementation Validation Evolution |
|
What are the four related issues that may affect different types of software? |
Heterogeneity business and social change security and trust scale |
|
What is heterogeneity? |
Allow to work with legacy systems, different languages and mobile devices and still operate properly |
|
What is Business and social change? |
The rapid change of needs and requirements of the software |
|
What is security and trues? |
Software is everywhere, and it is important that customers are able to trust the software they use. |
|
What is the worry with scale with different types of software? |
systems range from small and embedded to large internet and cloud based systems |
|
Why do they say software engineering is concerned with all aspects of software production? |
its not just about the program, but the documentation, libraries, support system and configuration data that is needed to make the software useful |
|
What are the different categories of software? |
Stand alone Interactive transaction based Embedded Control Batch processing Entertainment Modeling & simulation Data collection System of systems |
|
What does the software process model represent? |
Simplified representation of software process. - each process model represents a process from a particular perspective and only provides partial info about the process |
|
What are the 3 main activities of the requirements engineering process(software specification)? |
1) requirements elicitation & analysis - deriving system reqs. from existing system 2)Requirement specification - translating info gathered from 1st step 3)Requirement validation - check for realism & consistency & completeness |
|
When is it appropriate to use the waterfall process model ? |
During hardware development, where high manufacturing costs are involved (plan & sced all before starting) |
|
When is appropriate to use the incremental process model? |
software, where requiremetns are likley to change during development process. (releasing versions and get feedback) |
|
What types of software components are typically reused? |
-Standalone application system -Collection of objects that are components of a framework - Web-services that are developed according to a standard |
|
What are the advantages of prototyping? |
-allows potential users to test how will system will support their work - Allow customers to find strengths and weaknesses in software - can carry out experiments & check feasibility - find errors before actual launch |
|
What are the dis-advantages of prototyping? |
-prototypes cannot meet all objectives, this can lead to end user misunderstanding functionality - users may not get benefits they expect - standards of reliability may be reduced |
|
What are the advantages of incremental delivery? |
- unlike prototypes alone they are part of the final system so users gain experience and benefits from using. - users dot have to wait until the entire system is delivered to gain value from it |
|
What are the dis-advantages of incremental delivery? |
- hard to identify common facilities that are needed by all the increments - users need all of the functionally of old system and don't want to mess with an incomplete one. - contracts with gov. type is hard with unknown final. |
|
What is the process maturity approach? |
focus is on improving process project management and introducing good software engineering practice into and organization. with good technical and management process. |
|
What are the 2 primary goals of implementing process maturity approach? |
- Improved product quality - Process predictability |