This paper examines the common threats to data security in open systems highlighting some of the more recent threats, and looks at some of the tools and techniques currently available to enhance the security of a Unix system. Since many programs are written without security issues in mind, the topic of secure programming methodologies is also dicussed, with some examples of coding techniques that avoid security vulnerabilities.
The purpose of this paper is to build the foundation for software architect- ure. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either data , processing or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements-that is, the constraints of the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extende example to illustrate some important architectural and style considerations. We conclude by presenting some of the benefits to our approach to software architecture, summarizing our contributions, and relating our approach to other current work