Quiz 1 Flashcards
What is software engineering?
A collection of techniques, methodologies, and tools that help with the production of a high quality software system developed within a budget meeting a deadline while change occurs
What is the goals of software engineering?
To produce quality software and/or well engineered software
What are some characteristics of quality software?
Performs precisely as required
Entirely fault-free (reliable)
Maintainable
Offers appropriate user interface
Efficient
Delivered on time
Delivered within budget
Why is software development difficult?
The application/problem domain is difficult
The solution domain is difficult
The development process is difficult to manage
Software is a discrete system resulting in hidden surprises
Software offers extreme flexibility
What are the 4 facets of software engineering?
Problem solving
Modeling
Knowledge acquisition
Rationale management
What is an engineering discipline?
Using appropriate theories and methods to solve problems bearing in mind organizational and financial constraints.
What are techniques?
Formal procedures for producing results using some well defined notation.
What are methodologies?
A collection of techniques applied across software development and unified by a philosophical approach
What are tools?
Instruments or automated systems to accomplish a technique
What are the 5 phases in the software engineering life cycle?
Evolution->requirement analysis->design->implementation->testing
What are the 4 things that all software development processes require?
Specification, Design and implementation, validation, evolution
What is the difference between a computer scientist and a software engineer?
A computer scientist studies, learns and develops underlying theorems, algorithms and languages for computers while software engineers applies these concepts and ideas to create products.
What are the 4 essential attributes of good software?
Maintainability, dependability and security, efficiency, acceptability
What are the two types of software products?
Generic products and customized products
What are the 8 types of systems typically developed?
Stand alone systems, interactive transaction based systems, embedded control systems, batch processing systems, entertainment systems, systems for modelling and simulation, data collection systems, systems of system
What are stand alone systems?
Systems that run on their own, such as pcs
What are interactive transaction based systems?
Run on a remote computer and are accessed by users from their own local systems
What are embedded control systems?
Software systems that control and manage hardware devices
What are batch processing systems?
Business systems that are designed to process data in large batches
What are entertainment systems?
Systems that are primarily used for personal use.
What are systems for modelling and simulation?
Systems that are developed by scientists and engineers to model physical process or situations
What are data collection systems?
Systems that collect data from their environment using a set of sensors and send that data to other systems for processing
What are systems of systems
Systems that are composed of a number of other software systems
What are the three parties in system development?
Users (direct/indirect)
Customers/procurer
Producer/developer
In reference to users role in software engineering what should systems be?
Specified based on user needs
Validated whether it really functions according to user needs
Documented by describing the system from the user’s perspective
What is notation?
A representation of a model