CHANGES IN SOFTWARE
WORKCENTER 2 SUBPROCESSWORKCENTER 1
2.11 KEY REFERENCES
As a result of the Fifth International Software Process Workshop, a working group chaired by Kellner formulated a standard problem, to be used to evaluate and compare some of the more popular process modeling techniques. The problem was designed to be complex enough so that it would test a technique’s ability to include each of the following:
• multiple levels of abstraction
• control flow, sequencing, and constraints on sequencing
TABLE 2.3 Glossary of Terms for the Loan Arranger
Borrower: A borrower is the recipient of money from a lender. Borrowers may receive loans jointly; that is, each loan may have multiple borrowers. Each borrower has an associated name and a unique borrower identification number.
Borrower’s risk: The risk factor associated with any borrower is based on the borrower’s payment history.
A borrower with no loans outstanding is assigned a nominal borrower’s risk factor of 50. The risk factor decreases when the borrower makes payments on time but increases when a borrower makes a payment late or defaults on a loan. The borrower’s risk is calculated using the following formula:
For example, a borrower may have three loans. The first loan was taken out two years ago, and all payments have been made on time. That loan is in good standing and has been so for two years. The second and third loans are four and five years old, respectively, and each one was in good standing until recently. Thus, each of the two late-standing loans has been in late standing only for one year. Thus, the risk is
The maximum risk value is 100, and the minimum risk value is 1.
50 -[10* 2]+ [20* 11+ 12] +[30* 0]= 70.
+[30* 1number of years of loans in default standing2] +[20* 1number of years of loans in late standing2] Risk =50 -[10* 1number of years of loans in good standing2]
Bundle: A bundle is a collection of loans that has been associated for sale as a single unit to an investor.
Associated with each bundle is the total value of loans in the bundle, the period of time over which the loans in the bundle are active (i.e., for which borrowers are still making payments on the loans), an estimate of the risk involved in purchasing the bundle, and the profit to be made when all loans are paid back by the borrowers.
Bundle risk: The risk of a loan bundle is the weighted average of the risks of the loans in the bundle, with each loan’s risk (see loan risk,below) weighted according to that loan’s value. To calculate the weighted average over nloans, assume that each loan Lihas remaining principal Piand loan risk Ri. The weighted average is then
a
n
i=1PiRi a
n
i=1Pi
Discount: The discount is the price at which FCO is willing to sell a loan to an investor. It is calculated according to the formula
Discount= 1principal remaining2* [1interest rate2 *10.2+ 1.005* 1101- 1loan risk2222] Interest rate type: An interest rate on a loan is either fixed or adjustable. A fixed-rate loan (called an FM) has the same interest rate for the term of the mortgage. An adjustable rate loan (called an ARM) has a rate that changes each year, based on a government index supplied by the U.S. Department of the Treasury.
Investor: An investor is a person or organization that is interested in purchasing a bundle of loans from FCO.
Investment request: An investor makes an investment request, specifying a maximum degree of risk at which the investment will be made, the minimum amount of profit required in a bundle, and the maximum period of time over which the loans in the bundle must be paid.
Lender: A lender is an institution that makes loans to borrowers. A lender can have zero, one, or many loans.
Lender information: Lender information is descriptive data that are imported from outside the application.
Lender information cannot be changed or deleted. The following information is associated with each lender:
lender name (institution), lender contact (person at that institution), phone number for contact, a unique lender identification number. Once added to the system, a lender entry can be edited but not removed.
(continues)
Section 2.11 Key References 79
Lending institution: A synonym for lender. See lender.
Loan: A loan is a set of information that describes a home loan and the borrower-identifying information associated with the loan. The following information is associated with each loan: loan amount, interest rate, interest rate type (adjustable or ffixed), settlement date (the date the borrower originally borrowed the money from the lender), term (expressed as number of years), borrower, lender, loan type (jumbo or regular), and property (identiffied by the address of the property). A loan must have exactly one associated lender and exactly one associated borrower. In addition, each loan is identiffied with a loan risk and a loan status.
Loan analyst: The loan analyst is a professional employee of FCO who is trained in using the Loan Arranger system to manage and bundle loans. Loan analysts are familiar with the terminology of loans and lending, but they may not have all the relevant information at hand with which to evaluate a single loan or collection of loans.
Loan risk: Each loan is associated with a level of risk, indicated by an integer from 1 to 100. 1 represents the lowest-risk loan; that is, it is unlikely that the borrower will be late or default on this loan. 100 represents the highest risk; that is, it is almost certain that the borrower will default on this loan.
Loan status: A loan can have one of three status designations: good, late, or default. A loan is in good status if the borrower has made all payments up to the current time. A loan is in late status if the borrower’s last payment was made but not by the payment due date. A loan is in default status if the borrower’s last payment was not received within 10 days of the due date.
Loan type: A loan is either a jumbo mortgage, where the property is valued in excess of $275,000, or a regular mortgage, where the property value is $275,000 or less.
Portfolio: The collection of loans purchased by FCO and available for inclusion in a bundle. The repository maintained by the Loan Arranger contains information about all of the loans in the portfolio.
TABLE 2.3 (continued)
• decision points
• iteration and feedback to earlier steps
• user creativity
• object and information management, as well as flow through the process
• object structure, attributes, and interrelationships
• organizational responsibility for specific tasks
• physical communication mechanisms for information transfer
• process measurements
• temporal aspects (both absolute and relative)
• tasks executed by humans
• professional judgment or discretion
• connection to narrative explanations
• tasks invoked or executed by a tool
• resource constraints and allocation, schedule determination
• process modification and improvement
• multiple levels of aggregation and parallelism
Eighteen different process modeling techniques were applied to the common problem, and varying degrees of satisfaction were found with each one. The results are reported in Kellner and Rombach (1990).
Curtis, Kellner, and Over (1992) present a comprehensive survey of process mod- eling techniques and tools. The paper also summarizes basic language types and con- structs and gives examples of process modeling approaches that use those language types.
Krasner et al. (1992) describe lessons learned when implementing a software pro- cess modeling system in a commercial environment.
Several Web sites contain information about process modeling.
• The U.S. Software Engineering Institute (SEI) continues to investigate process modeling as part of its process improvement efforts. A list of its technical reports and activities can be found at http://www.sei.cmu.edu. The information at http://
www.sei.cmu.edu/collaborating/spins/ describes Software Process Improvement Networks, geographically-based groups of people interested in process improve- ment who often meet to hear speakers or discuss process-related issues.
• The European Community has long sponsored research in process modeling and a process model language. Descriptions of current research projects are available at http://cordis.europa.eu/fp7/projects_en.html.
• The Data and Analysis Centre for Software Engineering maintains a list of resources about software process at https://www.thedacs.com/databases/url/key/39.
More information about Lai notation is available in David Weiss and Robert Lai’s book, Software Product Line Engineering: A Family-based Software Develop- ment Process (Weiss and Lai 1999).
The University of Southern California’s Center for Software Engineering has developed a tool to assist you in selecting a process model suitable for your project’s requirements and constraints. It can be ftp-ed from ftp://usc.edu/pub/soft_engineering/
demos/pmsa.zip, and more information can be found on the Center’s Web site: http://
sunset.usc.edu.
Journals such as Software Process—Improvement and Practice have articles addressing the role of process modeling in software development and maintenance.
They also report the highlights of relevant conferences, such as the International Soft- ware Process Workshop and the International Conference on Software Engineering.
The July/August 2000 issue of IEEE Softwarefocuses on process diversity and has sev- eral articles about the success of a process maturity approach to software development.
There are many resources available for learning about agile methods. The Agile Manifesto is posted at http://www.agilealliance.org. Kent Beck’s (1999) is the seminal book on extreme programming, and Alistair Cockburn (2002) describes the Crystal family of methodologies. Martin Beck (1999) explains refactoring, which is one of the most difficult steps of XP. Two excellent references on agile methods are Robert C.
Martin’s (2003) book on agile software development, and Daniel H. Steinberg and Daniel W. Palmer’s (2004) book on extreme software engineering. Two Web sites providing additional information about extreme programming are http://www.
xprgramming.com and http://www.extremeprogramming.org.
Section 2.12 Exercises 81