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;
100 Cards in this Set
- Front
- Back
- 3rd side (hint)
Name the 5 principles of software engineering |
1. Practical experience 2. Problem solving 3. Limited resources 4. Interdisciplinary 5. Communication |
PPLIC |
|
Name the 5 steps to the engineering method |
1. Formulate the problem 2. Analyze the problem 3. Search for solutions 4. Decide the appropriate solutions 5. Specify solution |
FASDS |
|
Name the 6 activities of software development |
1. Requirements elicitation 2. Analysis 3. System design 4. Object design 5. Implementation 6. Testing |
RASOIT |
|
Define software engineering |
A collection of techniques, methodologies, and tools that help with the production of high quality software systems developed with a given budget by for a given deadline while change occurs. Softwareengineering is a problem-solving,modeling, knowledge acquisition, and rationale driven activity. |
|
|
What is the document you use for elicitation? |
Product requirement document (PRD) - Functional model, non-functional model, and user case diagrams |
PRD |
|
What is the document used for analysis |
System functional Specification (SFS) - Analysis object model class diagram, dynamic model, and state machine diagram. |
SFS |
|
What is the document for system design? |
Software Design Specification (SDS) - System design object model and subsystem decomposition. |
SDS |
|
What is the document for object design? |
Detailed Design Specification (DDS) - Design goals, object design model, class diagram |
DDS |
|
What is the document for implementation? |
Source code and images |
|
|
What is the document for testing?
|
Testing Plan and Testing Report - Deliverable systems |
|
|
How do you deal with complexity?
|
Abstraction and Modeling
|
|
|
What is a model? |
A model is an abstraction of a system that enables us to answer questions about the system. |
|
|
What are the 4 different types of models? |
1. Functional - Functions from the users point of view 2. Object - What is the structure of the system? 3. Dynamic - How does the system rwacts to external events? Internal behavior 4. System - Object model + Functional model + Dynamic model |
FODS |
|
How many entities should a model have? |
7 +/- 2 |
|
|
Define an ADT |
A type whose implementation is hidden from the rest of the system. |
Abstract Data Type |
|
Define a class |
An abstraction in the context of object-oriented languages |
A class encapsulates state and behavior. EXAMPLE: watch |
|
Define a model |
An abstraction describing a system or a subsystem |
|
|
Define a view |
A view depicts slected aspects of a model |
|
|
Define a notation |
A set of graphical or textual rules for depicting models and views |
|
|
What does UML stand for? |
Unified Modeling Language |
|
|
Define a use case diagram |
Describes the functional behavior of the systems as seen by the user |
|
|
Define a class diagram |
Describes the static structure of the system: Objects, Atributes, and Associations |
|
|
Define a sequence diagram |
Describes the dynamic behavior between objects of the system |
|
|
Define a state diagram |
Describes the dynamic behavior of an individual object |
|
|
Define an activity diagram |
Describes the dynamic behavior of asystem, in a particular workflow |
|
|
What is an actor in a use case diagram? |
A model for an external entity which interacts with the system |
|
|
What is a use case and it's components? |
A class of functionality provided by a system 1. Unique name 2. Participating actors 3. Entry conditions 4. Exit conditions 5. Flow of events 6. Quality requirements |
UPEEFQ |
|
Define a scenario and it's components |
An instance of a use case describing a concrete set of actions 1. Scenario name 2. Participating actors instances 3. Flow of events |
SPF |
|
Name the 5 components of a class diagram |
1. Attribute 2. Association 3. Multiplicity 4. Class 5. Operations |
AAMCO |
|
What are two main components of a UML sequence diagram? |
1. Actor 2. Use case |
AU |
|
Name two relationships for a use case |
1. Include 2. Extends |
IE |
|
Name 4 relationships between classes |
1. One-to-one 2. Aggregation 3. Inheritance 4. One-to-many |
OAIO |
|
Name 4 relationships between classes |
1. One-to-one 2. One-to-many 3. Aggregation 4. Inheritance |
OOAI |
|
Actor vs Class vs Object |
An actor is an entity outside the system to be modeled and that interacts with the system. A class is an abstraction modeling an entity in the application An object is a specific instance of a class |
|
|
Name 5 compenents of a UML sequence diagram |
1. Intial state 2. State 3. Event 4. Transition 5. Final state |
ISETF |
|
Name 4 techniques to elicit requirements |
1. Questionnaires - Ask end user 2. Task analysis - Observe end user 3. Scenario - Describe the use of the system as a series of interactions between an end user and the system 4. Use cases - Abstractions that describe a class of scenarios |
QTSU |
|
What are the 2 types of requirements? |
Functional and Non-functional |
|
|
Functional vs Non-functional |
Functional - Describes user tasks which the system needs to support Non-functional - Describes properties of the system |
|
|
Requirement validation |
1. Correctness 2. Completeness 3. Consistency 4. Clarity 5. Verifiablilty 6. Realism 7. Tracibilty |
CCCCVRT |
|
What are the 3 types of requirement elicitation? |
1. Greenfield engineering 2. Re-engineering 3. Interface engineering |
GEI |
|
Define a scenario |
A narrative description of what people do and experience as they try to make use of a computer system and applications |
|
|
What are the 5 principles of software engineering? |
1. Practical experience 2. Problem solving 3. Limited resources 4. Interdisciplinary 5. Communications |
PPLIC |
|
What are the different types of modeling?
|
1. Functional Model 2. Object Model 3. Dynamic Model 4. System Model = Functional + Object + Dynamic |
|
|
What are the components of a Use Case Diagram
|
- Actor - Use Case It consists of 6 parts 1. Unique name 2. Participating actor 3. Flow of events 4. Entry conditions 5. Exit conditions 6. Quality Requirements |
|
|
What are the different relationships in a Use Case
|
1. Extended 2. Include 3. Inheritance |
|
|
What is the difference between a scenario and a use case? When do you use each construct?
|
A scenario is an instance of use case describing a concrete set of action. A use case is a general sequence of interaction describing all possible scenario associated with situation. |
|
|
What are the components of a Class Diagram?
|
1. Class 2. Association 3. Multiplication 4. Attribute 5. Operations |
|
|
What are the components of a Sequence Diagram?
|
1. Actor 2. Object 3. Lifeline 4. Message 5. Activation |
|
|
What diagrams do you use for 1. Functional model 2. Object model 3. Dynamic model |
1. Use case diagram 2. Class diagram 3. Sequence, statechart, and activity diagrams |
|
|
What are the Five steps of the engineering method?
|
1. Formulate the problem 2. Analyze the problem 3. Search for solutions 4. Decide on the appropriate solution 5. Specify the solution |
|
|
What are the four steps for object modeling?
|
1. Class identification ( Forward engineering, Reverse Engineering) 2. Find the attributes 3. Find the operations 4. Find the associations between classes. |
|
|
What’s the difference between forward engineering and reverse engineering? When do you use each?
|
Forward Engineering - We can find the classes for a new software SystemReverse Engineering - We can identify the classes in an existing System. |
|
|
What are the 4 different approaches used to identify classes? Explain each.
|
1. Application domain approach 2. Syntactic approach 3. Design pattern approach 4. Component-based approach |
|
|
What are the 3 types of objects?
|
1. Entity 2. Boundary 3. Control |
|
|
Define the 3 types of objects
|
• Entity Objects • Represent the persistent information tracked by the system (Application domain objects, also called“Business objects”) • Boundary Objects • Represent the interaction between the user and the system • Control Objects • Represent the control tasks performed by the system. |
|
|
What is pros and cons for graphical stereotype ?
|
Pros - Easier to understand with sterotype - Increase the readability Cons - If developers are unfamiliar with the symbols being used, it can become harder to understand -Addtional symbols add to the burden of learning tp read a diagram |
|
|
Components of a Class Diagram
|
1. Attributes and association 2. Associations between classes 3. Association Classes 4. Multiplicities 5. Roles 6. Inheritance 7. Aggregation 8. Qualification |
|
|
What’s the difference between validation and verification?
|
Validation: we build what the customer want(Customers). Verification : are we building the project the right way (Developers). |
|
|
What are the 8 Issues of System Design
|
1. Identify Design Goals 2. Subsystem Decomposition 3. Identify Concurrency 4. Hardware Software Strategy5. Persistent Data Management6. Global Resource Handling 7. Software Control 8. Boundary Conditions |
|
|
What are analysis sources?
|
1. Nonfunction requirements - Design goals 2. Functional model -System decomposition -Layers vs Partitions -Coherence / Coupling 3. Dynamic model -Concurrency -Identification of threads 4. Object model -Hardware / Software Strategy -Special purpose systems -Data managment 5. Dynamic model -Software control -Monolithic event-driven conc. processes -GLobal resource handlung -Access control list vs capabilities security 6. Functional model -Boundary conditions -Initialization termination failure |
|
|
Examples of design goals
|
• Reliability • Modifiability • Maintainability • Understandability • Adaptability • Reusability • Efficiency • Portability • Traceability of requirements • Fault tolerance • Backward-compatibility • Cost-effectiveness • Robustness • High-performance • Good documentation • Well-defined interfaces • User-friendliness • Reuse of components • Rapid development • Minimum number of errors • Readability • Ease of learning • Ease of remembering • Ease of use • Increased productivity • Low-cost • Flexibility |
|
|
Define Subsystem Decomposition
|
• Subsystem • Collection of classes, associations, operations, events and constraints that are closely interrelated with each other • The objects and classes from the object model are the “seeds” for the subsystems • In UML subsystems are modeled as packages |
|
|
How do you Reduce system complexity while allowing change |
Coherence and Coupling |
|
|
Define Coherence |
measures dependency among classes. • High coherence: The classes in the subsystem perform similar tasks and are related to each other via many associations • Low coherence: Lots of miscellaneous and auxiliary classes, almost no associations |
|
|
Define coupling |
measures dependency among subsystems • High coupling: Changes to one subsystem will have high impact on the other subsystem• Low coupling: A change in one subsystem does not affect any other subsystem. |
|
|
How much of coherence and coupling do you use for a good design of a system? |
High coherence and low coupling |
|
|
Define modeling |
abstractrepresentation of a system that enables us to answer questions about thesystem. Helpful when dealing with complex systems that are too difficult todeal with firsthand |
|
|
Define problem solving |
formulate the problem, analyze the problem, search for solutions, decide on theappropriate solution, specify the solutiont--> |
|
|
Define Knowledge Acquisition |
nonlinear process,meaning new information can invalidate all the knowledge gained thus far. |
|
|
Define rationale |
understanding thecontext in which each design decision is made. |
|
|
What is the purpose of modeling? |
Purposeof modeling is to reduce complexity of problem. This excludes irrelevantdetails and focuses on the abstraction of entire system. |
|
|
Listtwo pros and cons of programming language as the sole notation throughout thedevelopment process? |
Pros:developers only have to learn one language for all activities, easier to manageone language than multiple languages Cons:low level representation of user requirements, enables and encouragesdevelopers to implement too early |
|
|
Considera task you are not familiar with, such as designing a zero-emissions car. Howwould you attack the problem? |
Definethe problem precisely by gathering information from users Discoverthe boundaries of the solution by gathering information from domain experts Brainstormideas Evaluateusing prototypes and simulations |
|
|
Considera task you are not familiar with, such as designing a zero-emissions car. Howwould you attack the problem? |
Definethe problem precisely by gathering information from users Discoverthe boundaries of the solution by gathering information from domain experts Brainstormideas Evaluateusing prototypes and simulations |
|
|
Whatis meant by knowledge acquisition is not sequential? |
Acquisitionof knowledge can invalidate your prior knowledge. One piece of knowledge doesnot guarantee the next. |
|
|
Hypothesizea rationale for the following design decisions: |
1. “Theticket distributor will be at most one and a half meters tall” 2. “Theticket distributor will include two redundant computer systems” 3. Theticket distributor interface will consist of a touch screen for displaying instructionsaccessing commands and a single button for aborting transactions’ a. Allowschildren and disabled to buy tickets b. Achieveavailability c. Softwarewill be easily maintainable while hardware remains simple |
|
|
Specifynonfunctional or functional 1. “Ticketdistributor must enable a traveler to buy weekly passes” 2. “Mustbe written in java” 3. “Mustbe easy to use” 4. “Mustalways be available” 5. “Mustprovide a phone number to call when it fails: |
1. functional 2. nonfunctional 3. nonfunctional 4. nonfunctional 5. functional |
|
|
Specifywhich of these decisions were made during requirements or system design |
1. “Theticket dist is composed of a user interface subsystem, a subsystem forcomputing tariff, and a network subsystem for managing communication with thecentral computer” 2. “Theticket dist hardware uses PowerPC processor chips”3. “Theticket dist provides the traveler with online help” a. systemdesign b. systemdesign c. requirements |
|
|
Inthe following description, explain where the term account is used as an application concept and when as a solutiondomain concept… “Assume you are developing an online system for managing bankaccounts for mobile customers. A major designissueis how to provide access to the accounts when the customer cannot establish anonline connection. One proposal is that accounts are made available on themobile computer, even if the server is not up. In this case, the accounts showthe amounts from the last connected session.”!--bx |
Thefirst two references are domain concepts, and the last two are solution domainconcept. The last two provide possible solutions while the first two state theissue at hand |
|
|
Whatis the difference between task and activity? |
Anactivity is comprised of many tasks. A task cannot be decomposed any further |
|
|
Components of a textual use case |
1. Use case name 2. Participating actors 3. Flow of events 4. Entry condition 5. Exit condition 6. Quality requirements |
|
|
Whatis the difference between scenario and use case? When do you use eachconstruct? |
a. Scenario:actual sequence of interactions describing one specific situation b. Usecase: general sequence of interactions describing all possible scenariosassociated with a situation. c. Scenariosprovide extra clarity for a particular use case. Use cases are all encompassingdescriptions |
|
|
Draw a use casediagram for a ticket distributor for a train system. The system includes twoactors: a traveler who purchases different types of tickets, and a centralcomputer system that maintains a reference database for the tariff. Use casesshould include BuyOneWayTicket, BuyWeeklyCard, BuyMonthlyCard, andUpdateTariff. Also include the following exceptional cases: TimeOut,TransactionAborted, DistributorOutOfChange, and DistributorOutOfPaper. |
|
|
|
Writethe flow of events and specify all fields for the use case UpdateTariff thatyou drew in Q4. Do not forget to specify relationships. |
|
|
|
Draw a class diagramrepresenting a book defined by the following statement: “A book is composed ofa number of parts, which in turn are composed of a number of chapters. Chaptersare composed of sections.” Focus only on classes and relationships. |
|
|
|
Drawobject diagram representing the first part of this book. Make sure that theobject diagram you draw is consistent with the class diagram in Q6.oListParagraphxe8 |
|
|
|
Draw a class diagramrepresenting the relationship between parents and children. Take into accountthat a person can have both a parent and child. Annotate associations withroles and multiplicities. |
|
|
|
Sequencediagram for warehouseOnFire scenario |
|
|
|
Sequencediagram for reportIncident() use case |
|
|
|
ActivityDiagram ordering a pizza |
|
|
|
Activitydiagram with exceptions |
|
|
|
3different activity diagrams |
|
|
|
Consideryour watch as a system and set the time 2 minutes ahead. Write down eachinteraction between you and your watch as a scenario. Recordall interactions, including any feedback the watch provides you. Watchcontains three buttons. One for incrementing the minute, one for decrementingthe minute, one power button |
1.watchOwner clicks the power button 2.watch powers on 3.watchOwner clicks the increment button once 4.watch increment the minutes by one unit 5.watchOwner clicks the increment button once more 6.watch increments the minutes by one unit |
|
|
Describethe strengths and weaknesses of users during requirements elicitation. |
· Strengthsof users: usually have a detailed knowledge of problem to be solved, detailed knowledgeof application domain · Weaknessesof users: usually don’t have knowledge of solutions, can’t always describetheir problems effectively · Strengthsof developers: detailed knowledge of possible solutions, know how tocommunicate the solutions · Weaknessesof developers: initially have poor knowledge of problem, tend to make incorrectassumptions about the problem |
|
|
Considera file system with a GUI, such as Mac Finder, Windows explorer, KDE. The followingobject were identified from a use case describing how to copy a file from afloppy disk to hard drive: File, Icon,TrashCan, Folder, Disk, Pointer. Specify which are entity objects, boundaryobjects, control objects. |
a. Entityobjects: file, folder disk b. Boundaryobjects: Icon, pointer, trash can c. Controlobjects: none |
|
|
Assumingthe same file system as before, consider a scenario consisting of selecting aFile on a floppy disk, dragging it to Folder and releasing the mouse. Identifyand define at least one control object associated with this scenario.s New7x% |
CopyFilewould be responsible for controlling the path of the file, path of the folder,initiate the file copying |
|
|
Arrangeobjects in questions 1 & 2 into a sequence diagram |
|
|
|
Examinethe sequence diagram you produced in 5.3, identify the associations betweenthese objects. |
|
|
|
Identifythe attributes of each object that are relevant to this scenario. Also considerexceptional cases “There is already a file with that name in the folder” and“There is no more space on disk.” |
|
|
|
Consider the object model of Figure 5-32. Usingassociation multiplicity only, can you modify the model such that a developerunfamiliar with the Gregorian calendar could deduce the number of days in eachmonth? Identify additional classes if necessary. |
|
|