A software design technique for client-server applications

Software design is the process of mapping software functional requirements into a set of modules for implementation. In this paper, a new design technique called the concurrent software design technique (CSDT) is proposed. CSDT extends software design techniques, which are based on structured analysis and design, by identifying independent concurrent tasks for implementation in multiprocessing, multitasking and the C/S environment. A case study on re-engineering a large legacy system, implemented on mainframes as a sequential system, to a C/S environment is presented next in order to highlight the benefits of the CSDT. Finally, this paper concludes with a comparison of CSDT with other existing approaches and the lessons learned from the experience with this technique. Copyright 1999 John Wiley & Sons, Ltd.

[1]  Dan Harkey,et al.  Essential client/server survival guide , 1994 .

[2]  Leon J. Osterweil,et al.  Toward objective, systematic design-method comparisons , 1992, IEEE Software.

[3]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[4]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[5]  James P. Buckley Designing Enterprise Client/Server Systems , 1999, Scalable Comput. Pract. Exp..

[6]  Hassan Gomaa,et al.  A software design method for real-time systems , 1984, CACM.

[7]  James C. Wetherbe,et al.  Key Issues in Information Systems Management: 1994-95 SIM Delphi Results , 1996, MIS Q..

[8]  James P. Huang Modeling of Software Partition for Distributed Real-Time Applications , 1985, IEEE Transactions on Software Engineering.

[9]  Alok Sinha Client-server computing , 1992, CACM.

[10]  Luqi,et al.  Formal Methods: Promises And Problems , 1997, IEEE Softw..

[11]  Derek J. Hatley,et al.  Strategies for Real-Time System Specification , 1987 .

[12]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[13]  Peter H. Aiken,et al.  DoD legacy systems: reverse engineering data requirements , 1994, CACM.

[14]  Emily Kay Surprise: your client is sinking your server , 1995 .

[15]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[16]  Richard M. Adler,et al.  Distributed Coordination Models for Client/Server Computing , 1995, Computer.

[17]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[18]  Ken Shumate,et al.  Designing large real-time systems with Ada , 1988, CACM.

[19]  InduShobha N. Chengalur-Smith,et al.  Client/server benefits, problems, best practices , 1998, CACM.

[20]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[21]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[22]  Meilir Page-Jones,et al.  The practical guide to structured systems design , 1980 .

[23]  Stephen J. Mellor,et al.  Recursive Design of an Application-Independent Architecture , 1997, IEEE Softw..

[24]  Jahangir Karimi,et al.  An Automated Software Design Assistant , 1988, IEEE Trans. Software Eng..

[25]  Paul T. Ward How to integrate object orientation with structured analysis and design , 1989, IEEE Software.

[26]  Bo Ingvar Sandén,et al.  Entity-life modeling and structured analysis in real-time software design—a comparison , 1989, CACM.

[27]  J. C. Kelly,et al.  A comparison of four design methods for real-time systems , 1987, ICSE '87.

[28]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[29]  Graham Beech,et al.  Software engineering with ada , 1983 .

[30]  Hassan Gomaa Structuring criteria for real time system design , 1989, ICSE '89.

[31]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.