Software Engineering

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

What is a software process

A set of activities whose goal is the development or evolution of software

What bass view is concerned with Work Assignment, deployment and implementation

Allocation view

What does an interface do on a component diagram

Allows communications between sub components

What does a port do on a component diagram

Allows components to talks to each other

Define Aggregation

An aggregation is consider the whole class where the part can survive if the whole dies

What is the formula for Interpersonal Communication Overhead

(n(n-1))/2 ex (4(4-1))/2 = 6

What does this cardinality symbol mean {0...N}

0 to many

What are the steps of the V-model

1 requirement ----------7 Acceptance testing 2Global design -------6 Integrations testing 3Det Design ----------5 Unit testing 4 Coding

What does this cardinality symbol mean {1...1}

1 to 1

What are two components of the first software engineering principle

1. Chose Software Development Life Cycle model 2. Develope project plan

What are some key differences with the Lightweight Software Model as compared to the Heavyweight Software Model

1. Customer Involved 2. Less Documentation 3. Faster product delivery 4. Changes accommodated 5. Flexible structure control

What are the four attributes of good software

1. Dependability 2. Efficiency 3. Acceptability 4. Maintainability

What are some advantages of the Prototyping Model

1. Getting Customer feedback 2. Allows the creation and testing of parts of a product before the entire product 3. Production quality is not required

What are the seven principles of software engineering

1. Manage using a phased life-cycle plan 2. Perform continuous validation 3. Maintain disciplined product control 4. Use modern programming practices 5. Maintain clear accountability for results 6. Use better and fewer people 7. Maintain a commitment to improve the process.

What are the three aspects of software failure

1. Over budget 2. Late 3. Does not satisfy user needs or expectations

What are four different types of Lightweight Software development models

1. Prototyping 2. Incremental Development 3. RAD, DSDM 4. Extreme Programming

Phases in the Waterfall life cycle of a software product

1. Requirement Engineering 2. System Design 3. Implementation 4. System testing 5. Maintenance

What are the steps for Prototyping Model

1. Requirements engineering (For entire product) 2. Design (Prototype) 3. Implementation (Prototype) 4. testing (prototype developed)

What are the three critical software systems

1. Safety 2. Mission 3. Business

What are the advantages of the Waterfall model

1. Straight forward 2. Find problems earlier in the process 3. Documentation 4. Best for larger projects over 50 team members

What are the key aspects of the Incremental Development Model

1. System is delivered in small increments 2. Waterfall Model is employed 3. User is closely involved 4. Incremental development prevents over-functionality

What are the three types of Prototyping Development Models

1. Throwaway 2. Evolutionary 3. Incremental Development

What are three generic software process models

1. Waterfall 2. Iterative development 3. Component-based software engineering

A component is defined as what

A box that represents functional aspects

Define Composition

A composition is a class that is part of a whole class where the part would die of the whole dies

What is a DFD diagram

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modelling its process aspects.

What is a Data Flow Diagram

A graphical representation of the "flow" of data through an information system

A connector is defined as what

A line that connects components

What is a finite state machine

A mathematical model of computation used to design both computer programs and sequential logic circuits.

What is meant by Entity relationship Modeling

A modeling type that uses the entities, entities types, attribute values, attributes, and relationships

A rectangle in a ER diagram signifies

Entitiy type

What is a software process model

A simplified representation of a software process, presented from a specific perspective

Define Architectural Style

A style or description of component or connector types and a pattern of their runtime control and data transfer

What architectural style uses local data

Abstraction

What part of a class diagram provides behavior that can be overwritten in the extending class

Abstraction

What are the key aspects of Dynamic Systems Development Method. (DSDM)

Active user involvement Teams must be empowered to make decisions Focus on frequent delivery of products Iterative and incremental development Changes must be reversible Testing is integrated throughout the lifecycle

Three main purposed of Software Architecture

Acts as a communication tool Acts as earliest set of design decisions Acts as a transferable abstraction of system

What type of association is symbolized by a straight line and a diamond

Aggregation

What associations are shown in the following diagram

Aggregation Composition

What are the two types of associations

Aggregation and Composition

What is meant by negotiation

Agreeing on the boundaries of the problem

What is meant by validation

Agreeing on the nature of the problem

Why is it important to maintain product control

As these changes impact the system development, it is very easy for different versions of the documentation and the code to proliferate.

An elispse in an ER diagram signifies

Attributes

Why is it it important to manage using a phased life-cycle plan

Because roughly 50% of projects fail due to poor planning

What does an ER diagram consist of

Entity Entity Types Attribute values Attribute Relationship

What are the classic modeling techniques

Entity relationship Modeling Finite state machines Data flow diagrams CRC cards

What bass view is concerned with runtime events, process, concurrency, shared data, and client server

Component and Connector

What type of association is symbolized by a straight line and a solid diamond

Composition

What is a type of association is a room to a building

Composition because you cannot have a room without a building

What are the four types of components

Computational Memory Manager Controller

What is a key component of the third software engineering principle

Configuration management because of changing requirements

When should DSDM be used

DSDM should be used when subject matter experts can be used in all phases of development, and on the job training is not an option.

Basses model view is comprised of what

Decomposition Uses layered Class

List the association strengths in order of weakest to strongest

Dependency Aggregation Composition

What is meant by specification

Describing the problem

Define Heterogeneity

Developing techniques for building software that can cope with heterogeneous platforms and execution environments

Define Trust

Developing techniques that demonstrate that software can be trusted by its users

Define Deliverability

Developing techniques that lead to faster delivery of software

Why is it important to use few and better people on a project

Doing so reduces the communications overhead on a project by getting the job done with fewer, more productive performers

Why should you maintain a commitment to improve the process

Doing so verifies that the particular form of the principles adopted by an organization is indeed the best match for its particular needs and priorities.

How is the end point represented in state transition diagram

Double circles

Why is it important to maintain clear accountability for results

Each individual on the project team should have a clear statement of the results for which he or his group are accountable, and a clear understanding that his future rewards depend on how well he does in producing those results.

What are the main steps for Requirements Engineering

Elicitation Specification Validation Negotiation

What are the phases of DSDM

Feasibility study /Business study Functional model Iteration Design /Build Iteration Implementation

What are the key aspects of the RAD Model

Fixed time frames within which activities are done Time frame is decided upon first The use of Joint Requirements Planning (JRP) and Joint Application Design (JAD) Requirements prioritization through a triage Development in a SWAT team

What are three different ways to describe waterfall model

Heavyweight Model (Process oriented) Plan Driven Model (Must have Plan) Document Driven Model (Each phase produces documentation)

What are some key challenges to software engineering

Heterogeneity Delivery Trust

What is the process for making decisions when discussing Architecture styles

Identify sub problems Each issue gets different solutions Choose solution for each sub problem, then integrate into final solution

What architectural style follows a publisher/subscriber event driven model

Implicit Invocation

What architectural style requires event handlers and uses signal and react to events

Implicit Invocation

What are the four types of design decisions

Implicit undocumented Explicit Undocumented Explicit, Explicitly Undocumented Explicit Documented

What are the differences between the conceptual, logical and Implementation view points

Logical shows key interactions withing th systems Conceptual shows the high level map of the system Implementation shows the organization of the submodels in the system

What is the process to performing domain analysis

Look at a number of systems in an applications entire domain, and identify reusable components, concepts, structures, and the like.

What are some examples of Architectural style

Main Program with subroutines Data Abstraction Implicit Invocation Pipes and Filters Repository Layers of abstraction

What architectural style uses shared data

Main with subroutines

What bass view is concerned with units related by is a submodule

Model (decomposition)

What are the Bass's Architecture viewpoints

Model View Component and connector Allocation Views

What is finite state machine

Models of a system in terms of a finite number of states and transitions between those states

What are the advantages modern programming practices

More visibility into the software development process Contributes greatly to getting errors out early Produces much more understandable and maintainable code Makes many other software jobs easier, like integration and testing.

What is meant by the term MoSCow

Must have Should have Could have Wont Haves

What is a very important deliverable of the Incremental Model

Must have prioritization of the requirements.

What are some examples of MPP

Object oriented Top Down Structured Programming

What is another name for UML Diagrams

Object oriented modeling

When would you use Extreme Programming

On projects with small teams Expert Programming skills are not needed When all parties can work side by side effectively

What architectural style uses a series of incremental transformations and is largely used by Unix and compilers

Pipes and filters

What are the six types of connectors

Procedure Data Flow Implicit Invocation Message Passing Shared Data Instantiation

Define Throwaway Prototyping Model

Product prototypes is thrown away after development

When Should RAD be used

RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time, and resource cost is not a priority

A diamond in an ER diagram signifies

Relationship

What are the four phases of the RAD model

Requirements Planning; User Design; Rapid Construction; Cutover

What is meant by domain analysis

Requirements analysis who's goal generally is to identify reusable components, concepts, structures, and the like.

When would you use the Prototype model

Requirements are unstable or have to be clarified Develop user interfaces Short-lived demonstrations New, original development With the analysis and design portions of object-oriented development.

What is the difference between requirements and design phase

Requirements are what we want done, and design is how are we going to achieve it

What architectural style holds a rich data structure where data is manipulated by multiple clients

Respository

What are the key aspects of Extreme Programming

Small phases Simplicity Pair Programming Onsite Customer involvement

Define Software Engineering

Software engineering is an engineering discipline which is concerned with all aspects of software production

How is the starting point represented in state transition diagram

Solid Bubble

In a class diagram as class or a relationship is denoted by what

Specialized lines that range from associations, to generalizations to inheritance and dependancies

What is the Pre-Architectural life cycle

Stake Holders Quality and Requirements Agreement Development

How do you decide which viewpoint to use

Stakeholder voice their concerns Viewpoint address those concerns Identify, prioritize, and combine viewpoints to address concerns

What are CRC card

Standard index card that has been divided into three sections

How is an data flow represented in a work context diagram

a line an arrow ----->

When would you use the incremental model

This model can be used when the requirements of the complete system are clearly defined and understood. When some some details can evolve with time. There is a need to get a product to the market early. A new technology is being used. Resources with needed skill set are not available.

Why is it important to perform continuous validation

To prevent detecting and correcting software problems until late in the project

What is meant by Elicitation

Understanding the problem

What is meant by the term UML

Unified Modeling language

What does UML stand for

Uniform Modeling Language

What are the four things that come to mind with Architectural Style

What problem are we trying to solve What components are utilized What connectors are utilized What is the context and what are the contraints

What would you utilize MoSCow

When you can prioritizes user requirements

How is an process represented in a work context diagram

a circle

How is an external entity represented in a work context diagram

a rectangle

What is a type of association is a employee to a department

aggregation because an employee will survive without a department

How are transitions from one state to another represented on a state transitions diagram

arcs

What are the two types of directional associtaions

bi-directional uni-directional

How are state represented in a State transitions diagram

bubbles

In a class diagram as class or a node contains what

name, attributes, and methods

Dependency associations are signified by what

straight dotted line with an arrow

How is a data store represented in a work context diagram

two solid straight line ----------- -----------

What are characteristics of a good SRS

unambiguous Consistent Correct Complete Verifiable Testable Modifiable

Modulality is specified by

{0 ... 10}

Cardinality is specified by

{0..1}


Kaugnay na mga set ng pag-aaral

E. Other Federal Laws and Guidelines 5. Gramm-Leach-Bliley Act (GLB) -Privacy, FTC Safeguard Rules and Do-Not-Call

View Set

Chapter 7: The Many Types of Memory

View Set

Spreadsheet Computing Final Exam

View Set

(PrepU) Chapter 5: Thinking Critically to Analyze Data and Make Informed Nursing Judgments

View Set

(7th) TCI Ch 28 - QUIZ - Florence

View Set

Chapter 7 - Trust, Justice, and Ethics

View Set

LifePac World History Unit 5:1 England and France

View Set

Social Pyschology 7- Social and Altruism

View Set