• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/100

Click to flip

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.