Classnotes 12 - focusconsulting.ws

advertisement
Software Engineering
Fall Term 2015
Marymount University
School of Business
Administration
Professor Suydam
Week 12
1
• Case Study 4 Comments
• Quiz 4 Review
• UML
• MS Project
• MS Visio
• Chapters 11-13
• Chapter 14.1
2
3
Use Case
Static Structure (Class)
State Chart (State Machine)
Sequence (Interaction)
Deployment
Component
Collaboration
Activity
4
5
6
7
8
9
10
11
12
13
DFD
Reverse
Engineer
UML
14
15
1. What is a naming model used for?
Ans: A naming model is needed for configuration management in order to uniquely identify and
control the pieces and parts of the artifacts.
Page: 236
2. List the four major activities associated with software configuration management.
Ans: These are:
a) understand and agree on organization’s policies, process activities, and the resulting artifacts that
need to be managed,
b) determine and define the framework that needs to be used to manage the artifacts,
c) determine and bring in any tool that is needed to facilitate the management, and
d) train and ensure that the agreed upon configuration management process is practiced and
adhered to.
Page: 230
3. What are check-in and check-out?
Ans: Check-in refers to storing or returning an artifact to a configuration management’s library while
check-out refers to retrieving an artifact from the configuration management’s library.
Page: 238
16
4. List three concerns you may need to look into before choosing a configuration management tool.
Ans: There are many concerns and should include these:
a) is the tool easy to learn and what kind of education is provided by the tool vendor,
b) does the tool have all the needed functionalities to accommodate the organization’s naming model
and access model and
c) can the tool accommodate geographically separate, multi-site development and support.
Page: 241-243
5. What are the build steps of a single program?
Ans: Software system build is a set of activities where all the software source code and data artifacts
are gathered for compilation into an executable. All the cross references and external names are
resolved. The complete set of artifacts are compiled and linked together into an executable.
Page: 240-241
6. What is linking and what are we linking in a build process?
Ans: Linking is an activity to tie together all the needed, externally reference items for the software.
Page: 240
17
7. Explain the difference between the view and the modify functions in the storage and access model of
configuration management.
Ans: The “view” function is the retrieval of an artifact for the purpose of reading the artifact and may
be performed by all at all times. The “modify” function is the retrieval of an artifact for the
purpose of making changes to the artifact. Thus in the case of modify, only those authorized
should be allowed to perform the function. In addition, to prevent conflicts, when an artifact X is
retrieved for modification, that X is locked from other modify function until it is returned. X may
still be viewed by others.
Page: 238-239
8. Name a tool from each of the three tiers of automating the configuration management activities.
Ans: The tools for the three tiers are:
First tier = Performing version control – Revision Control System (RCS) and Source Code Control
System (SCCS)
Second tier = Include the build function – MAKE utility in UNIX systems and Odin
Third tier = Integrate the configuration, development, and support activities – ClearCase, PVCS
(Serena ChangeMan), and Visual SourceSafe.
Page: 241-242
18
1. List three customer support functions that a customer support/service organization
performs.
Ans: There are many customer support functions performed by support/service
organization; some of the more common ones include 1)
taking/recording/checking the name and identification of customer to ensure
that the person is a legitimate customer, 2) listen to and record the problem, 3)
answer the question if the solution is known or search the FAQ database for an
answer, include providing an expected fix data if the problem is yet unresolved.
Page: 250-251
2. Explain the customer problem arrival curve in terms of customer usage of the product
and the fixes.
Ans: Customer problem arrival rate is directly related to the customer problem
discovery rate. The rate of customer problem discovery is proportional to the
amount of usage the software is experiencing. For example, a new software that
has not been run often will not have much usage-time and the discovery of
software problems will be relatively low. As the usage-time increases, the
discovery of defects increases accordingly. After a period of time, the discovered
problems will be fixed and all the major areas of software would have been
exercised. Thus the discovery rate of defects will once again become low after a
period of heavy usage and problem fixes. The graphical curve of this rise of
problem discovery and problem arrival with increase in usage-time followed by a
gradual decrease of problem discovery may be modeled with a Rayleigh curve.
Page: 251-254
19
3. What is the formula for usage month?
Ans: Usage-month is a metric used to measure the amount of usage a software
has gone through. Usage month is usually defined as (usage months = number of
users actively using the software x number of months of usage). This metric,
when combined with problems discovered, is often used in the assessment of
software quality.
Page: 251
4. What is a pre-requisite/co-requisite relationship of product maintenance and fix
releases?
Ans: There are times, a software S1 fix release also requires a fix release of
another software S2 because S1 and S2 are related. An example may be where a
change in S1 application requires an additional modification of a feature in S2. In
this case the two software S1 and S2 modifications may be considered as corequisites that must be released together or S2 modification is a pre-requisite
that must be available first before S1 change may be released.
Page: 260
20
5. What is a problem priority level? What is it used for?
Ans: A problem priority level is a metric that gauges and categorizes the severity level of a
reported software problem. It is used to prioritize the problem fixing task and provide a
rough estimate of problem fix-response time to the customer.
Page: 254
6. Describe the steps involved when a customer problem is passed from the customer
service/support representative to the technical problem/fix analyst until the problem is resolved.
Ans: There are several steps involved and they are summarized as follows.
a) problem description and related information is summarized in a problem report and
submitted to the problem/fix group;
b) the problem/fix analyst will explore and analyze the problem;
c) the problem/fix analyst will then accept or reject the problem based on the analysis;
d) if the problem is rejected then the customer support representative is notified;
otherwise, the problem is accepted, a change request is generated and the problem enters
a fix cycle of design/code/test;
e) the fix may be individually packaged and immediately released or may be integrated
into a fix-release package, depending on the problem priority level;
f) the support FAQ database is then updated to reflect the closure status of this problem.
Page: 255
21
7. Give an example of a problem that may occur if a customer stays on a particular release,
skips several maintenance/fix releases, and then applies a fix release.
Ans: Skipping fix releases may cause a problem, especially if the fixes may be
related. Consider a case where a variable is newly defined in a fix a, then it is
again updated in a later fix b. If one skips these fix releases a and b, but apply a
fix c that utilizes this newly introduced variable, fix c will not work.
Page: 256-258
8. What is the estimated effort field on the change request form used for?
Ans: The estimated effort is used mostly for estimating the resource needed and
for scheduling the completion and release date of the change or fix.
Page: 259-260
22
1. List and discuss the elements of a project plan.
Ans: A project plan includes the discussions on the following list of items:
a) a brief description of the project requirements and deliverables
b) a set of project estimations: 1) work effort, 2) needed resources, and 3) schedule
c) a set of project goals to be achieved
d) a set of assumptions and risks
Page: 267-268 and Appendix D page 315- 316
2. What are the four phases of project management?
Ans: The 4 phases of project management are the following:
(POMA) 1) Planning, 2) Organizing, 3) Monitoring, 4) Adjusting
Page: 266
3. What are the three components of risk management?
Ans: They are: 1) risk identification, 2) risk prioritization, 3) risk mitigation
Page: 269
4. What is a Kiviat chart, and when would you use it?
Ans: A Kiviat chart is a convenient diagram to show multiple (more than three) metrics.
Page: 272-273
23
5. What are the three attributes of a software project that are most often considered for trade-off
decisions for project adjustment?
Ans: The three attributes considered for trade-off decisions are resources, schedule, and project
content.
Page: 275
6. Consider the COCOMO project effort estimation methodology.
a. What are the three project modes?
Ans: They are organic (simple), semidetached (intermediate), and embedded (difficult).
b. What are the eight project characteristics that you need to consider in order to decide the
project mode?
Ans The 8 project characteristics are:
The team’s:
understanding of the project objectives
experience with similar or related projects.
The project’s: need to conform with established requirements.
need to conform with established external interfaces.
need for new and innovative technology, architecture, or other constraints.
need to meet or beat the schedule.
size range.
The need to develop the project concurrently with new systems and new operational procedures.
24
c. How do the 15 cost-drivers influence the initial effort estimate?
Ans:The 15 cost-drivers are estimated and multiplied together to produce a single factor that is
used to influence (scale up or down) the initial estimate.
d. Consider a software project that you have estimated at 2 KLOC in size. You believe that it should
be in organic mode and that the arithmetic product of the average of the 15 cost-drivers or
PROD (f ’s) is 1.2.
What is the estimated effort in person-months?
Ans: Effort = 3.2 x (2)1.05 x 1.2 = approximately 8.0 person months
(use Excel)
Page: 277-279
25
7. Using function point methodology, compute the unadjusted function point for an average
project that has 10 external inputs, 7 external outputs, 5 external inquiries, 3 internal logical files,
and 4 external interface files.
Ans: The unadjusted function point, UFP = (10 x 4) + (7 x 5) + (5 x 4 ) + (3 x 10) +( 4 x 7) = 153
Page: 280
8. Assume that the total complexity factor for the software project in the previous question is 1.1
and the productivity figure is 20 function points per person-month.
What is the function point for the project? What is the estimated effort in person-months for the
project?
Ans: The function point, FP = 153 x 1.1 = 168.3;
months
Page: 281
Estimated Effort = 168.3 / 20 = 8.4 person-
9. What is WBS, and what is it used for?
Ans: WBS stands for work breakdown structure. It is a breakdown of the effort into sub-activities
that are required to produce all the deliverables. These effort estimations are used to come up
with an estimated project schedule.
Page: 283-284
26
10. What are the three key project status indicators, EV, SV, and CV, in earned value project
status tracking methodology?
Ans: EV is the calculated Earned Value which is used as an indicator of how much the
estimated work is completed on a specific date.
SV is a Schedule Variance indicator which shows the difference between efforts of the tasks
that have been completed by the status date and the estimated efforts of the tasks that were
planned to have been completed by that status date.
CV is a Cost Variance indicator which shows the difference between the estimated efforts of
the tasks that have been completed at the status date and the actual efforts expended for the
tasks that have been completed at that status date.
Page: 287-288
11. What are the four scale levels of metric?
Ans: The four scale levels of metrics are nominal, ordinal, interval, and ration.
Page: 289
12. What is GQM?
Ans: GQM is Goal-Question-Metric, an approach defining a measurement model based on
three levels, the conceptual level, operational level, and quantitative level.
Page: 289
27
28
• Many areas of progress since software engineering
inception
• Just a few of the sample progress areas:
 Secure Software Development Process
 Software Protection & Obfuscation
 Software Validation & Verification Progress
29
• As software engineers, we need to call out security as a
desired non-functional software property.
• In addition, we need to include a set of activities into the
software development cycle that addresses security concerns
as software is developed through the traditional set of
activities.
Req.
Security
Awareness
& Vulnerability
Specification
Design
Security
Modeling & Design
Code
Test
Measuring &
Verifying
Level of Security
Release
Release decision
Include
Security Concerns
30
• Many different techniques are being pursued
• One of the areas is software obfuscation (where we are
putting complexity back into software instead) :




Lexical Obfuscation
Data Obfuscation
Control Obfuscation
Call-flow Obfuscation
31
From Test Driven Development & JUnit tool to:
• “programming by contract” & Java Modeling Language
with JMLunit tool
• Behavior Driven Development & Cucumber tool
32
Download