A software product line is a family of products that share common features to meet the needs of a market area. Systematic processes have been developed to dramatically reduce the cost of a product line. Such product-line engineering processes have proven practical and effective in industrial use, but are not widely understood. The Family-Oriented Abstraction, Specification and Translation (FAST) process has been used successfully at Lucent Technologies in over 25 domains, providing productivity improvements of as much as four to one. In this paper, we show how to use FAST to document precisely the key abstractions in a domain, exploit design patterns in a generic product-line architecture, generate documentation and Java code, and automate testing to reduce costs. The paper is based on a detailed case study covering all aspects from domain analysis through testing.
Assigning students to teams can be a time-consuming process, especially for cooperative learning teams. This paper describes the initial development and testing of a web-based system to assign students to teams using instructor-defined criteria, including criteria consistent with the cooperative learning literature. First, the instructor decides which attributes of students to measure in assigning teams. Next, students complete confidential surveys to determine their attributes. Finally, the instructor assigns a weighting factor to each attribute and the system assigns students to teams. The purpose of the system is to shorten the time to assign teams and to improve the likelihood that teams will satisfy an instructor's criteria for team formation. The Team-Maker system provides two web interfaces-one for the instructor and one for students. The instructor's interface is used to create the survey and, once students have completed the survey, to assign students to teams in accordance with an instructor-defined weighting scheme. The student's interface allows each student to complete the confidential survey. Features of the team-assignment system important to forming cooperative-learning teams include: the instructor decides which attributes or skills (e.g., grades in prior courses, GPA, writing skill) are to be distributed heterogeneously across teams; the prevention, if possible, of underrepresented minorities being outnumbered on a team; and matching student schedules such that members of a team have a reasonable expectation of being able to meet outside of class. To test the system, 86 students already assigned to teams by instructors in four sections of a sophomore-level course completed the survey in Spring 2003. In this paper, the teams created manually by the instructors are compared to the teams suggested by the automated system. Results of initial testing are described and plans for future development are outlined. The results show that the system is effective at meeting the instructor's criteria for good team formation and saving the instructor time. The source code for the application is available under an open source license for free distribution and modification.
The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.