软件工程前沿系列讲座
讲座人:美国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.