特邀美国专家——软件学院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.