特邀美国专家——软件学院3学期系列讲座(本部)

发表时间:2005-07-05 编辑: 来源: 浏览次数:

软件工程前沿系列讲座

讲座人:美国AWAYA软件技术研究所(前属Bell实验室)Dr. David M. Weiss博士 和 Dr. Jenny Li 博士 (学院软件兼职教授)

地点:嘉三220

授课对象:全校师生,软件学院学生为主

题目和时间:

1.Information Security (Dr. Jenny Li)

时间:2005年7月6日 周三晚上7:00开始

2.Software Product Lines: Basis For Reuse (Dr. Weiss)

时间:2005年7月8日 周五晚上7:00开始

3.Industrial Strength Software Product Line Engineering (Dr. Weiss)

时间:2005年7月9日 周六晚上7:00开始

4.Software Architecture (Dr. Weiss)

时间:2005年7月10日 周日晚上7:00开始

5.Abstract Interface and Architecture Reviews (Dr. Weiss)

时间:2005年7月11日 周一晚上7:00开始

Content:

David M. Weiss

Director, Software Technology Research, Avaya Labs

David M. Weiss received the B.S. degree in Mathematics in 1964 from Union College,

and the M.S. in Computer Science in 1974 and the Ph.D. in Computer Science in 1981

from the University of Maryland. He is currently the head of the Software Technology

Research Department at the Avaya Laboratories, and is looking into the problem of how

to improve the effectiveness of software development in general and of Avaya''s software

development processes in particular. In this capacity he heads the Avaya Resource Center

for Software Technology.

Previously he was the Director of the Software Production Research Department at

Lucent Technologies Bell Laboratories, which conducted research on how to improve the

effectiveness of software development. Before joining Bell Labs, he was Director of the

Reuse and Measurement Department of the Software Productivity Consortium (SPC), a

consortium of 14 large U.S. aerospace companies. Prior to joining SPC Dr. Weiss spent a

year at the Office of Technology Assessment, where he was co-author of a technology

assessment of the Strategic Defense Initiative. During the 1985-1986 academic years he

was a visiting scholar at The Wang Institute and for many years was a researcher at the

Computer Science and Systems Branch of the Naval Research Laboratory (NRL), in

Washington, D.C. He has also worked as a programmer and as a mathematician. He is

also a senior member of the IEEE and associate editor-in-chief of IEEE Transactions on

Software Engineering.

Dr. Weiss’s principal research interests are in the area of software engineering,

particularly in software development processes and methodologies, software design, and

software measurement. He is best known for his invention of the goal-question-metric

approach to software measurement, his work on the modular structure of software

systems, and his work in software product-line engineering as a co-inventor of the

Synthesis process, and its successor the FAST process. He is co-author and co-editor of

two books: Software Product Line Engineering and Software Fundamentals: Collected

Papers of David L. Parnas.

Introduction to the Information Security from Juan Jenny Li

Abstract

1)Information Security is a very broad topic. For a higher level, it can be classified into

two categories: standalone system security and networked system security. Standalone

systems do not have external network connections. The only two ways that can cause

security breaches is the improper operation of the system and the malicious code residing

within the system at the programming time. There are many ways to compromise the

security of networked systems. It could be interception of information during network

transportation or attacks to network end-point infrastructure or unauthorized usage of

network applications. Network security measures can be classified based on network

layers, ranging from encryption methods for under IP layer to intrusion detection methods

for application layer. The application itself can have many types, such as databases and

web services. Thistalk will discuss security technologies for each of the security vulnerable

points.

Introduction to the five seminars from David M. Weiss

July 6 and leave at July 14, 2005

1) Software Product Lines: Basis For Reuse

Software product line engineering is becoming a more prevalent approach across

industry. The goals, as with other approaches to improving software development, are to

improve the time to create new products, reduce the cost of creating new products,

improve the quality of products, and improve a development organization''s ability to tailor

its products to changing customer needs. Product LIne Engineering (PLE), the process

for creating product lines, is based on the assumption that narrowing the domain of

interest leads to efficiency in software production by enabling reuse of requirements,

architecture, components, and other work products. Over the last 10 years or so we

have gone from systematically engineering small domains to engineering large, industrial

product lines. This talk will briefly present the main ideas and justification underlying PLE,

give a brief overview of some industry experience, and discuss the issues involved in large-

scale PLE. He will end with a proposal for a new approach to organizing software

development, called open market software development that is intended to improve both

developer motivation and organizational efficiency within the context of PLE and other re-

use based software development.

2) Industrial Strength Software Product Line Engineering

What is required to move a large software development organization to a product

line approach? This talk describes the experiences of one of Avaya''s product units that is

currently undergoing such a change. He will briefly describe the product unit and it''s

motivations for moving to a product line approach, including some of the economic

justification. He will discuss the product line approach that the organization is using

and describe its plan for implementing a product line while it is still in the midst of product

development.

3) Software Architecture

Concern-based Architecture Software architectures must satisfy a variety of different

concerns for a variety of stakeholders. Customers, marketers, developers, product

managers, project managers and other roles have different but often overlapping

expectations for architectures. This talk will describe how architectures can be structured

to satisfy different concerns such as performance, changeability, and extensibility. The

underlying idea is that creating a specific structure within the architecture that is focused

on the concern can satisfy each concern or related set of concerns. Such an approach

also allows stakeholders with different concerns to review different aspects of the

architecture. Commonality/Variability Analysis Intrinsic to the idea of software product lines

is creating an architecture and infrastructure for product development that is based on

the assumed commonalities and expected variability of the product line. Producing a C/V

analysis requires the right set of domain experts focused on the right set of issues. The

product of the analysis can be used to drive product line architecture and the design of a

domain specific language. This talk will describe the process for performing a C/V analysis,

the structure of the result, and will explain how the result is the basis for modular product

line architecture.

4) Abstract Interface and Architecture Reviews

Abstract Interfaces Modular architectures are intended to achieve separation of

concerns, extensibility and changeability, testability, and a variety of other characteristics.

To achieve these goals, modules must have well-defined and well-specified interfaces. An

abstract interface for a module presents a set of services that the module offers to its

users while preserving the abstraction defined by the module. A key question is how the

interface should be specified so that both the module''s implementers and the module''s

users know just what they need to know to accomplish their jobs. This talk describes a

technique for specifying abstract interfaces to modules that achieves this goal.

Architecture Reviews As software architectures become an increasing focus of concern in

software development it is important that we have good processes for reviewing them.

Just as code inspections have become an established way of improving software quality,

architecture reviews in some companies are also becoming software quality enablers. This

talk will discuss an architecture review process that has been widely used in Lucent,

AT&T, and Avaya. The process is focused on the idea of well-structured review boards

that can efficiently focus on key architecture concerns in facilitated meetings. He will

discuss both conduct of the process and the results that have been achieved from using

it.

5) To beginners of software engineering (漳州校区)

MR driven software engineering what is software engineering? A new software

development model is based on MR (Modification Reporting) system. This model is better

than Waterfall model, especially for evolving software products. Most software products

are now evolving products with incremental releases. Software engineering can be

defined from MR''s point of view. Goal-oriented Software Assessment When attempting

to assess their software development capabilities, most projects today use a

benchmarking approach, typified by the SEI''s Capability Maturity Model. However, it may

be more useful to adopt a goal-oriented approach, focusing on how well the project or

organization is meeting its goals, rather than how well it compares to other

Organizations. He will describe a goal-oriented software assessment approach that has

been commonly used within Avaya to assess the state of a variety of projects.