header Offering Degrees in Computer Science and Computer Engineering
Info for:

CS Research Area:
Software Engineering

[Overview]   [Faculty]   [Projects]   [Courses]

The goal of the Software Engineering Research Area is to advance the practice of software engineering and to create software-intensive systems with predictable and improved cost, schedule, and quality. The objectives of this research area is to accelerate the introduction and widespread use of high-payoff software engineering practices and technology by identifying, evaluating, and maturing promising or underused technology and practice, to maintain a long-term competency in software engineering and technology transition, and to enable software development organizations to make measured improvements in their software engineering practices by working with them directly.

Faculty

William M. Lively, PE, PhD  (Professional Software Engineer)
Dick B. Simmons, PE, PhD  (Professional Software Engineer)
Frank Shipman, PhD

Projects

Software Engineering Distance Education (DE)   During school years 2002-2003 and 2003-2004 both undergraduate and graduate software engineering courses have been offered over the Internet. The courses included a team based software development project that emphasized global distributed software development. The DE program has led to a research program in global distributed software development.

Software Engineering Certificate (Lively and Simmons)    Engineering and science graduates working in the information technology arena are encouraged to seek a Software Engineering Certificate that shows they have completed a course sequence recommend by the Professional Software Engineers in the Software Engineering Area. This certificate is aimed at non-computer science graduates. This SE Certificate activity will encourage the top students with industrial experience to seek additional graduate courses from the TAMU College of Engineering (COE) which will help the COE improve their research program.

IBM research (Simmons and Lively)    This effort consists of developing tools and software to provide to students on a nationwide basis. Use of Rational (IBM) CASE tools provide the vanguard thrust of this project:

Fact - Professors are reluctant to spend time learning new technologies.

Goals

  • Immediately insert new technology into course environment.
  • Professors guide the use of new technology (but do not have to know details of every tool or service).
  • Student advisors rapidly absorb details of new technologies to advise capstone course students (and to advisors the professors).
Web Interface Heuristic Evaluation Project (Mendoza and Lively)    Web developers need effective and cheap approaches for Web usability evaluation. Ideally, a combination of manual methods and automatic usability tools are used for an effective Web site usability evaluation. As opposed to automatic approaches, little work has been done to support manual evaluation methods. This work focuses in developing a tool aiding Web developers evaluate Web sites using the (manual) method called Heuristic Evaluation. Qualitative research is planned to learn more about the user and the evaluation process to better support it. Contributions of this work include: a) characterization of Web developers as heuristic evaluators, b) characterization of Heuristic Evaluation process performed by Web developers, and c) a framework for supporting Heuristic Evaluation, d) analysis of usability problems found by Web developers.

LCAM (Life Cycle Artifact Manager) (Lively)    LCAM has a graphical interface that facilitates the management of software artifacts created throughout the entire life cycle of the development of a software system: requirements, specifications, design, code, integrate and test data; install, operation and maintenance manuals, overviews, narratives, design rationale. forward and backward traceability. It consists of the following properties

  • configuration management
  • open ended
  • supports CORBA
  • does not hinder the developer in the process of producing software.
  • enhances communications among all stakeholders
  • interface then is key
  • qualities of good interface
PAMPA 2 Knowledge Base (Simmons)    The PAMPA 2.0 tool knowledge base was recently created to describe plans based on a spiral life cycle. Attributes gathered into PAMPA 2.0 can be used for process improvement, project control, and software product quality control. PAMPA 2.0 uses a three-tier architecture. A thin client such as an Internet browser represents the presentation tier. The middle tier comprises the PAMPA 2.0 application components. These components are hosted in an Apache Tomcat Engine/web server. The presentation tier communicates with the application components through http requests to the web server. The application components act as a middleware that integrates various CASE tools like Rational tools and Microsoft Project tool. A PAMPA 2.0 component gathers attributes from CASE tool databases and stores them into the PAMPA 2.0 SQL database. Rules and facts retrieved from PAMPA 2.0 database are sent to the Java Expert System Shell (JESS) to make inferences.

The capabilities of PAMPA 2.0 are being extended to dynamically monitor and predict productivity. A Software Engineering Body of Knowledge Ontology is being developed. Also, new paradigms for global distributed software development are being explored.

Advanced Business Technologies Project (Simmons)    ABT is a privately held company generating $15M in Fiscal 2003 revenues. ABT enjoys an extensive marquee name client base that drives their annual triple digit growth rate. They are the largest digital document processing and storage entity in the continental USA servicing companies that range from $550M to $7.2B in annualized revenues. ABT is a recognized technology leader in the $6.5B document management industry. This contract will be to work with the Software Process Improvement Laboratory to expand ABT capabilities. This project will perform research and development in the areas of document imaging website implementation and customer service fulfillment.

INCREASED SYSTEM RELIABILITY THROUGH IMPROVED VALIDATION OF KNOWLEDGE IN EXPERT SYSTEMS WITH SINGLE DOMAIN EXPERT DEVELOPMENT TEAMS PROJECT (Clevenson and Simmons)    Current software engineering techniques provide a solid foundation for the validation and verification of computer applications. They ensure that delivered applications are of higher quality and have a reduced number of "bugs" due to developer error. These techniques do not address "bugs" that are inherent in the knowledge, requirements, or specifications as they are received from the experts. 30% of the "bugs" occurring in software development originate in the requirements Phase. Baseline data indicates that a third of these, or 10% of the "bugs" in software development projects, are due t errors in the knowledge or specifications received from the expert. This project developed a technique, Knowledge Validation, which enhances knowledge acquisition for expert system development or specification and requirements gathering in traditional software development projects.

Measuring, monitoring, and assessing software process using PAMPA 2.0 KNOWLEDGE-BASED SYSTEM (Jung and Simmons) The goal of this project is to assess capability maturity level. Capability Maturity Model (CMM) was developed to improve the software process based on subjective assessment by teams of expensive experts. We are developing an objective CMM assessment, which replaces expensive and time consuming human effort by a knowledge-based system. Compared to Subjective CMM assessment, Objective CMM assessment can be less expensive, takes less time, and is easy to estimate the software development environment maturity. The accuracy of Objective CMM assessment can be the same as Subjective CMM assessment if enough activities are represented as objective activities. For example, if subjective activities total 80% and objective activities total 20%, then the accuracy of Objective CMM assessment is not reliable. It would be reliable if the objective activity is increased up to 80% from 20%.

Software Engineering Technology Business Initiative (TBI) (Simmons)    The TBI works with the College of Business to offer a undergraduate course on Entrepreneurship. Also, judges are supplied to the Mays Business School MBA Tech X-fer Challenge. Assistance is given to faculty who would like to transfer technology from the university to a successful business venture. This activity supports research in business models for software start-up companies.

Win/Win software engineering (Lively and Hoffer and Lease from Scott and White Hospital)    The capture of the proper requirements and specifications is the most important aspect of software development. The highest number of errors in a system are attributable improper reqts/specs and if not discovered till the end of development can incur a 100X increase in cost. The Win/Win approach insures that all stakeholders participate in developing the domain application area and properly using the development domain area. Use Cases and prototypes become invaluable. Couple this with a 4th generation tool and convergence to the proper reqts/specs becomes realizable. Our research consist of developing an environment to support the above activities.

Optimal OR scheduling (Lease, Hoffer [SW - Temple] and Lively)    Aries is a resource allocation system that was developed at Texas A&M University (Mark Lease dissertation) for Scott and White Hospital in Temple Texas. To optimize the resource allocation various optimal OR scheduling algorithms need to be developed. Present research deals with discovering the best method of developing algorithms, implementing them and then performing resource allocation analysis. Additional resources consist of physicians, scrub nurses, OR rooms, OR equipment, special surgical equipment, supplies, anesthesiology personnel and equipment.

Software requirements and reuse (Shipman)    We are designing, building, and evaluating a suite of tools for software requirements elicitation and software reuse. The current focus of the research is on eliciting and coping with input from a large user population. The research includes the application of AI techniques to support a software engineer mining end user responses for software requirements

Courses

CPSC 431. Software Engineering. (2-2). Credit 3. I, II, S
Application of engineering approach to computer software design and development; life cycle models, software requirements and specification; conceptual model design; detailed design; validation and verification; design quality assurance; software design/development environments and project management. Prerequisite: CPSC 311.

CPSC 437. Engineering Software Products. (3-0). Credit 3. I, II, S
Links theory and practice in providing hands-on experience in development of growth-oriented new software products; student teams prepare and present a plan for a new software product; skills conducive to new software product success are developed including team building; organizing; planning; integrating and persuading. Prerequisite: Senior Classification and Approval of Instructor.

CPSC 606. Software Engineering. (3-0). Credit 3.
Development of advanced concepts in software engineering; software development environments as a mechanism for enhancing productivity and software quality; the classification, evaluation and selection of methodologies for environments; rapid prototyping and reusability concepts; artificial intelligence techniques applied to software engineering. Prerequisite: CPSC 431 or approval of instructor.

CPSC 607. Software Models and Metrics. (3-0). Credit 3.
Software models and metrics; productivity predicting techniques; complexity measures; software reliability models; cost estimation models. Prerequisite: CPSC 431.

CPSC 609. Artificial Intelligence Approaches to Software Engineering. (3-0). Credit 3.
Artificial Intelligence techniques and approaches to software engineering; revolutionary paradigms and automatic programming; the knowledge-based assistant in management, specification capture, prototyping and maintenance; transformational systems and reusable library systems; AI tools for software development; graphical approaches to software engineering. Prerequisites: CPSC 606 and 625.


Copyright 2006 Department of Computer Science | Dwight Look College of Engineering | Texas A&M Engineering | Texas A&M University | State of Texas | Webmaster | This page is best viewed with firefox 1.5 or higher and Internet Explorer 7 or higher