Introduction Flashcards
What is Software Development?
- problem solving: analysis (understand problem & break it into pieces), synthesis (put pieces together into larger structure s.28)
- dealing with complexity
- dealing with change
What is a Model?
A model is an abstraction of a system, e.g. solar system/ future system to be built (subject of software engineering)
Why is software development difficult?
- problem from real world can be difficult
- Requirements change
- difficult to manage
What do software engineers use to solve problems?
• Techniques (formal procedures for producing results): e.g. quicksort algorithm
• Methodologies (collection of techniques applied and unified by philosophical approach): e.g.
object-oriented analysis and design
• Tools (instruments and automated systems to execute technique): e.g. compiler, debugger,
IDE (=integrated development environment), CASE (=computer aided software engineering)
Define Software Engineering.
“Software engineering is a collection of techniques, methodologies and tools that help with the production of ➢ a high quality software system ➢ developed with a given budget ➢ before a given deadline ➢ while change occurs”
Describe the difference between phenomena and concepts.
A phenomenon is an object in the world, while a concept describes the common properties of phenomena.
What do concepts exist of?
A concept is a 3-tuple:
- Name: The name distinguishes the concept from other concepts
- Purpose: Properties that determine if a phenomenon is a member of a concept
- Members: The set of phenomena which are part of the concept.
Shortly describe what Model, View and notation are.
➢ Model: abstraction describing a system
➢ View shows selected aspects of a model
➢ Notation: set of graphical or textual rules for
depicting models: informal notations (“napkin design”), Formal notations (UML)