| Term 
 | Definition 
 
        | breakdown problem into pieces that can understood |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | arrange pieces together into a structure to form a solution |  | 
        |  | 
        
        | Term 
 
        | what's definition of Software Engineering? |  | Definition 
 
        | collection of technologies, methodologies, and tools that help with the production of a high-quality software system developed within a given budget and before a given deadline |  | 
        |  | 
        
        | Term 
 
        | what are the main challenges of Software Engineering? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | In Soft Eng, what are 3 ways to deal with complexity? |  | Definition 
 
        | 1. notations 2. requirement engineering, analysis and design
 3. testing
 |  | 
        |  | 
        
        | Term 
 
        | in Soft Eng, what are 3 ways to deal with change? |  | Definition 
 
        | 1. rationale management 2. release management
 3. software life cycle
 |  | 
        |  | 
        
        | Term 
 
        | in Soft Eng, what's a technique? |  | Definition 
 
        | formal procedure for producing results using some well-defined notation |  | 
        |  | 
        
        | Term 
 
        | in soft eng, what's a methodology? |  | Definition 
 
        | collection of techniques applied across software development and unified by a philosophical approach |  | 
        |  | 
        
        | Term 
 
        | in soft eng, what is a tool? |  | Definition 
 
        | instrument or automated systems to accomplish a technique |  | 
        |  | 
        
        | Term 
 
        | what are 4 main goals of soft eng? |  | Definition 
 
        | 1. higher quality 2. high efficiency
 3. lower cost
 4. lower risk
 |  | 
        |  | 
        
        | Term 
 
        | what are two definitions for abstraction? |  | Definition 
 
        | 1. though process 2. resulting idea
 |  | 
        |  | 
        
        | Term 
 
        | what are 2 types of abstraction? |  | Definition 
 
        | 1. abstraction as activity 2. abstraction as entity
 |  | 
        |  | 
        
        | Term 
 
        | what are 3 system models? |  | Definition 
 
        | 1. object model 2. functional model
 3. dynamic model
 |  | 
        |  | 
        
        | Term 
 
        | what are 2 types of decomposition? |  | Definition 
 
        | 1. functional decomposition 2. object oriented decomposition
 |  | 
        |  | 
        
        | Term 
 
        | what are issues with functional decomposition? |  | Definition 
 
        | must understand where each functionality is |  | 
        |  | 
        
        | Term 
 
        | what are 2 special hierarchies? |  | Definition 
 
        | 1. part-of hierarchy 2. is-kind-of hierarchy
 |  | 
        |  | 
        
        | Term 
 
        | what's abstract data type? |  | Definition 
 
        | a type whose implementation is hidden from the rest of the system |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | abstraction in context of object-oriented languages |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | organized set of communicating parts |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | abstraction describing a system or a subsystem |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | selected aspects of a model |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | set of graphical or textual rules |  | 
        |  | 
        
        | Term 
 
        | what's application domain? |  | Definition 
 
        | the environment in which the system is operating |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the technologies used to build the system |  | 
        |  | 
        
        | Term 
 
        | in UML, what does a square denote? What does a circle denote? |  | Definition 
 
        | Square denotes classes or instances Circle denotes function
 |  | 
        |  | 
        
        | Term 
 
        | in UML, if something is underlined, what does that mean? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | in UML, what's use case diagram? draw one |  | Definition 
 
        | represent the functionality of the system from user's perspective |  | 
        |  | 
        
        | Term 
 
        | in UML, what's class diagram? draw one |  | Definition 
 
        | represent the structure of the system |  | 
        |  | 
        
        | Term 
 
        | in UML, what's sequence diagram? draw one |  | Definition 
 
        | represent the behavior of a system as messages between different objects |  | 
        |  | 
        
        | Term 
 
        | in UML, what's state machine diagram? draw one |  | Definition 
 
        | represent behavior of a single object with interesting dynamic behavior |  | 
        |  | 
        
        | Term 
 
        | what diagrams should be used to model functional model? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what diagrams should be used to model object model? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what diagrams should be used to model dynamic model? |  | Definition 
 
        | sequence diagram, state machine diagram |  | 
        |  | 
        
        | Term 
 
        | in which phase of software engineering UML case diagram used? |  | Definition 
 
        | requirements elicitation and analysis |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | set of all use cases that completely describe the functionality of the system |  | 
        |  | 
        
        | Term 
 
        | what's definition of an actor? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what's definition of use case? |  | Definition 
 
        | a class of functionality provided by the system |  | 
        |  | 
        
        | Term 
 
        | use case can be describe in what 2 ways? |  | Definition 
 
        | 1. graphically 2. textually
 |  | 
        |  | 
        
        | Term 
 
        | what does use case focus on? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | in textual use case description? what are 6 parts? |  | Definition 
 
        | 1. use case name 2. participating actors
 3. entry condition
 4. exit condition
 5. flow of events
 6. special stuff
 |  | 
        |  | 
        
        | Term 
 
        | use case can be related in which 3 ways? |  | Definition 
 
        | 1. extended 2. included 3. generalization |  | 
        |  | 
        
        | Term 
 
        | which phase of soft eng do we use class diagram? |  | Definition 
 
        | 1. requirement and analysis 2. system design 3. object design |  | 
        |  | 
        
        | Term 
 
        | what does an instance represent? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | when are 1-1 association used?  many-1 association? many-many association? |  | Definition 
 | 
        |  | 
        
        | Term 
 | Definition 
 
        | consist-of hierarchy aggregate is the parent class
 |  | 
        |  | 
        
        | Term 
 
        | what does a solid diamond denote? |  | Definition 
 
        | composition, where life time of the component is controlled by aggregate |  | 
        |  | 
        
        | Term 
 
        | what does inheritance do? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what are 4 steps in drawing class diagrams? |  | Definition 
 
        | 1. find new classes 2. review names, attributes, and methods 3. find associations between classes 4. determine multiplicity of associations |  | 
        |  | 
        
        | Term 
 
        | what's association class? |  | Definition 
 
        | association that has attributes and operations attached to it |  | 
        |  | 
        
        | Term 
 | Definition 
 | 
        |  | 
        
        | Term 
 
        | what's sequence diagram useful at? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what are msg types for sequence diagram? |  | Definition 
 
        | 1. asynchronous 2. synchronous
 3. call and object creation
 4. reply
 |  | 
        |  | 
        
        | Term 
 
        | how to represent iteration and condition in sequence diagram? |  | Definition 
 
        | iteration -> * condition -> []
 |  | 
        |  | 
        
        | Term 
 
        | how to represent creation and destruction in sequence diagram? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | in activity diagram, what does node and edge describe? |  | Definition 
 
        | node described activities and objects edge is directed connection between nodes
 |  | 
        |  | 
        
        | Term 
 
        | what are different types of nodes in activity diagram? |  | Definition 
 
        | 1. control nodes 2. action
 3. object
 |  | 
        |  | 
        
        | Term 
 
        | what are types of control nodes in activity diagram? |  | Definition 
 
        | 1. initial node 2. final node
 3. form node
 4. join node
 5. merge node
 6. decision node
 |  | 
        |  | 
        
        | Term 
 
        | in activity diagram, what is swim lane? |  | Definition 
 
        | splits responsibility for subsystems |  | 
        |  | 
        
        | Term 
 
        | if an activity diagram is only activity, then what is it? |  | Definition 
 | 
        |  | 
        
        | Term 
 
        | what does state machine diagram focus on? |  | Definition 
 
        | focus on set of attributes of a single object or system |  | 
        |  | 
        
        | Term 
 
        | why is software development difficult from requirement, development process, software flexibility's point of view? |  | Definition 
 
        | requirement: ambiguous, changing, complex process: non-linear, market
 flexibility: execute correctly on a physical system
 |  | 
        |  |