Case Study: SITINA - A Software Engineering Project Using Evolutionary Prototyping

Size: px
Start display at page:

Download "Case Study: SITINA - A Software Engineering Project Using Evolutionary Prototyping"

Transcription

1 Case Study: SITINA - A Software Engineering Project Using Evolutionary Prototyping Nuno Jardim Nunes dnnunes@dragoeiro.uma.pt Phone/Fax: +351 (91) / +351 (91) Address: UMa - Madeira Tecnopolo, Penteada, Funchal, Portugal João Falcão e Cunha jfcunha@garfield.fe.up.pt Phone/Fax: +351 (2) / +351 (2) Address: FEUP - Rua dos Bragas 4099 Porto CODEX - Portugal ABSTRACT This paper presents a case study based on a complex software engineering project that took place in a Portuguese SME, Small to Medium sized Enterprise. Our initial goal was to evaluate and adapt Software Engineering theory to the reality of SMEs, usually working in chaotic environments, and following no standard method. We refer to such absence of method as the just do it process model. We shortly present the project, critically discuss its results, and summarise what we believe has been learnt from the experience. We will consider the highly interactive collaboration model, evolutionary prototyping model, object-oriented A&D methods, and CASE tool support. We will discuss its theoretical principles and evaluate its expected advantages and shortcoming on the project mentioned. Finally we propose a new model for evolutionary prototyping, better adapted to the reality of the environment we faced. 1. INTRODUCTION The SITINA 1 project started with the need that the EDM utility company 1 had to monitor two small, completely automated, hydroelectric power plants [1]. The main goal was to develop a low cost application that enabled the board of directors to monitor those power plants and retrieve statistical data on their production. It is not in the scope of this paper to offer a detailed description of SITINA [2]. However, as we can see from its final general architecture on Figure 1, we are dealing with a complex SCADA/EMS 2 based system with many technologies and different software products. 1 SIstema de Telemetria para Instalações Não Acompanhadas (Telemetry System for Unaccompanied Utilities).

2 SITINA Software SITINA User User Interface (forms, gráphs and reports) RDMS Client (4D Client) MacOS / Windows95 TCP/IP or AppleTalk Administration Facilities SITINA Database Server RDMS Server (4D Server) MacOS / Windows95 / Windows NT WWW Server TCP/IP or AppleTalk SITINA Communication Server SITINA Software RDMS Client (4D Client) TCP/IP or AppleTalk MacOS / Windows95 DNP 3.0 L1 Serial Communications Ethernet Utilitie: Electric Power Production Plant Powermeter IED (Intelligent Electronic Device) Measurement Transformers: Voltage and Current Concentrator / Protocol Converter SITINA Software ISDN / Analog Commuted Network Instrumentation Software Binary ModBus Serial Communications RDMS 4D DNP 3.0 L1 Binary ModBus MacOS / Windows95 Serial Communications WWW Browser SITINA Remote User RS422 Multidrop Figure 1 SITINA s General Architecture Before starting the project we decided to choose a suitable subset of well-known and well-established software engineering methods and techniques. We mean suitable in both the senses that they could help in attaining all the user requirements and also in that they could be used successfully in the organisational context in which SITINA was going to be developed. It was also our own research goal to study them and evaluate their ability to improve the development process and help in solving problems that would arise. Initially we considered the following issues that should be considered in choosing reference models and methods: (i) Maintaining user satisfaction by allowing the system to adapt to changes in user requirements; (ii) Maintaining user satisfaction in terms of usability of the system and time to deploy it; (iii) Adding value to the Software Engineering SME that was used to a just do it process model [6]; (iv) Ability of the project team, in particular developers, to learn and use such new models, methods and techniques; (v) Adaptability of the models, methods and techniques to building an embedded system. In this process we used what we call a catalytic Trojan-horse 3 approach. We introduced in the SME well-known models, methods and tools that have been established for some time and are accessible to regular practitioners. We have 1 EDM, Electricidade da Madeira, is the company that has all the responsibility for electrical production, transport and distribution in Madeira Island. 2 SCADA/EMS technology was introduced about 50 years ago to enable the operation and control of energy production, transport and distribution systems: EMS [5] (Energy Management System): systems that maximise the efficiency of the production, transport and distribution of electric energy; SCADA [3] [4] (Supervisory Control and Data Acquisition): technology that enables a user to collect data and send commands to one or more remote utilities. 3 We use the term Trojan-horse approach to indicate the way we worked within the company. We wanted to gain the developers confidence and we wanted them to know that our main intention was to help them being more productive and more satisfied. The term should therefore be regarded only with its positive connotations, regarding success, as no harm was meant or delivered.

3 not used or evaluated advanced methods and techniques, namely on the object-oriented area. Although they play a substantial role on the software engineering discipline, they were not considered mainstream tools for the regular SME software Development Company or practitioner. Following the same policy, we have not used or evaluated experimental or sophisticated tools and technologies, like version and configuration control, automated metrics or object-oriented databases. Some of these tools and techniques were not available for the development team, and others would have taken a considerable amount of time or other resources to use and integrate. Related work concerning process assessment and improvement efforts, using CMM 1 and QIP 2 in SMEs, clearly concluded that these methods are not suitable to such organisations. Cattaneo et al [7] present a case study of CMM and QIP assessment in SMEs and conclude that "we should define assessment and methodology with a broader vision of the problem (...); it is not sufficient to consider just engineering issues (...), we have to take into account that most software companies are still at a very low maturity level". Brodman and Johnson [8] report about applying CMM in small organisations and conclude that SMEs "want to improve, but they have concerns with being measured against a model whose requirements they cannot rigidly meet". 2. THE PROJECT AND THE PEOPLE 2.1. Organisational Context Three separate institutions were involved in the development of the SITINA system. A customer company with the endusers, the software supplier company with the development and management team, and finally the research institution that co-ordinated the project regarding the software process and the modelling method: analysis, design and implementation of the system. One benefit of our Trojan-horse approach was the capability it gave us to influence directly the way people were going to collaborate and communicate during the system development. Since we required a pro-active attitude from everybody, we suggested that all the entities involved could communicate and collaborate directly. This model (see Figure 2) enabled us to have continuous feedback and to react very quickly to users and developers during the entire system development process. Client Company General Specification Prototype Evaluation Final Tests Research Institution Requirements Analysis Coordenation: ISystem Analysis and Design, mplementation,tests Supplier Company Implementation Installation Tests Maintenence Figure 2 - Organisational Development Context 1 Capability Maturity Model of the Software Engineering Institute. 2 Quality Improvement Paradigm of the University of Maryland.

4 The distribution of tasks indicated in Figure 2 was not defined at the beginning of the project, but was itself a product of the evolutionary process described later on this paper. To understand in detail the conditions imposed by the organisational context, we describe some of the characteristics of the other two institutions and professionals involved in the project: Customer Company: Involved in the project were the actual end-users, mainly senior engineers from the Board of Directors. They were very experienced on the application domain, i.e., power management, but had moderate computer experience, mainly from the users point of view. Their co-operation and comments, during all the evolutionary prototyping process, were always excellent, leading to a considerable amount of suggestions and new features added to the prototypes. Usability of the system was their main emphasis. Supplier Company: It is a good example of the software engineering SMEs. The development team was based on a small number of computer skilled people, without higher degrees, simultaneously involved in several small or medium sized projects. They used mainly the just do it approach, but were aware of other models and methods of software development. They had a strong dependency on the platform and development tool that had been adopted by the project: the MacOS 1 based fourth generation language SITINA s Project Schedule The project ended up having two phases, each one corresponding to the construction of two distinct versions of SITINA. The first version only dealt with two small hydroelectric power plants, but the second version is monitoring all the 10 hydroelectric power plants in the production network. The project had a time to market of approximately 14 months. The project team consisted of 2 people from the Research Institution (RI), 1 project manager, 2 software engineers and 2 hardware engineers from the Supplier Company (SC), and 3 senior engineers from the Board of Directors of the Customer Company (CC). Figure 3 represents the monthly summary of the actual project schedule. Month Tasks RI SC CC (in general terms) (2 Men) (5 Men) (3 Men) 1 General requirements analysis for SITINA V Survey of similar commercial products. Requirement gathering from SCADA/EMS systems General specification and analysis of SITINA V Implementation and design of the 1st SITINA V1 prototype. Select and install data acquisition hardware Partial tests, 1st prototype evaluation for SITINA V1. Analysis and Design iteration (2nd SITINA V1 prototype) Implementation and partial tests for the 2nd SITINA V1 prototype. 2nd prototype evaluation Final tests. Install and deploy SITINA V Evaluation (requirements gathering) and maintenance of SITINA V Evaluation (requirements gathering) and maintenance of SITINA V Final evaluation of SITINA V1. Requirements analysis for SITINA V Analysis and design of SITINA V2 1st prototype. Partial tests and implementation of SITINA V2. Data acquisition hardware installation Partial tests, 1st SITINA V2 prototype evaluation. Analysis and design iteration (2nd SITINA V2 prototype) Partial tests and implementation of the 2nd SITINA V2 prototype. 2nd SITINA V2 prototype evaluation Final tests SITINA V2. Install and deploy SITINA V2. SITINA V2 maintenance Figure 3 - Actual Project Schedule: activities and effort in person.hour 1 Apple Computer Inc.

5 As we can see in the table above (Figure 3), system development tasks included building 4 main prototypes, 2 corresponding to the first version of SITINA (SITINA V1) and 2 to the second version (SITINA V2). The first phase took 7 months and the second 5 months, if we exclude 2 months of evaluation and requirements gathering in-between. We note that task descriptions presented are an indicator of the main activity the team was working on, as the project was much more iterative than one could expect CC SC RI Figure 4 - Effort provided by the Institutions (in person.hour, each of the 14 months) Regarding Figure 4, we can clearly see the increasing effort on the development and on the prototype evaluation tasks. This pattern can be seen in both phases of the project, with a shorter evaluation period in-between. One should stress that the second evaluation period is clearly shorter than the first one. 100% 80% 60% 40% CC SC RI 20% 0% Figure 5 - Effort provided by the Institutions (percentage of total effort, each of the 14 months) In Figure 5 we can clearly see a strong contribution of the research institution in the analysis and design tasks, which decreases in implementation and testing. It is also visible the decreasing influence of this institution as the project evolves. This factor shows the learning curve of the development team, gradually integrating the new models and methods introduced. An important note regarding the end-users participation, in particular in the requirements gathering and prototype evaluation tasks: we can clearly see their continuous participation during the project, obviously excluding the periods of intense implementation.

6 3. THE THEORY In this section we will make a short review of the models, methods, techniques and tools selected for usage in the project, based on our experience and knowledge of the initial characteristics of the Developer Company. We will also mention their main advantages and disadvantages, the ones expressed or that we could anticipate from the theory The Nike Approach to Software Development As mentioned, the approach used by the Supplier Company was based on the Nike approach to software development. Booch [6] refers to this approach on the architectural planning activity of the design phase. He summarises it is the urge to delay building something real until you have a complete knowledge of the problem. This urge leads to a real solution, too late in the development phase, when the problem will likely have changed. On this paper we use the lets do it concept to characterise a process based on a battery of unplanned acts of hacking, with the overall aim of having projects finished with a running application. They are similar concepts, leading to similar practices. The just do it approach lacks the architectural planning, i.e., it is not a planned activity embedded in the development process, but the absence of actual planning. An early survey on the status of the software engineering practice in Portugal [9] showed that more than 70% of software SMEs in Portugal did not use a process model. The Nike approach, in actual use at our case study company, inspired us to define the Trojan horse strategy to introduce productive software engineering practices in that organisation. We wanted to retain the benefits of the Nike approach, namely the practical effect of building something real. We also wanted to prevent its risks, ultimately the institutionalised chaotic environment, which is not sustainable in the long term, and often leads to the team building the wrong thing Evolutionary Process Model Evolutionary development [10] was the general software engineering model chosen to approach the problem. By using this model, based on an iterative cycle of analysis/design and implementation, followed by user comments and validation, we tried to cope with the inability to gather specific and objective user requirements. On the other hand, we wanted the system to be as close to user expectations as possible, and the process to react quickly to requirements change. From the perspective of the development team, the lack of any process model imposed a steep learning curve of the model introduced. The evolutionary model was closer to the just do it model the company was used to, i.e., it was the only option between no model at all, and more strict models like the one in the waterfall approach. Other key factors that suggested this option were the required short delivery schedule, the relative inexperience on the application domain of developers, and finally, all of the platform and development tools' weaknesses (MacOS platform and 4 th Dimension) regarding integrated tools to support standard or advanced models. There were, however, some problems we anticipated when choosing this model. One is the classical bad structure of the applications produced under this kind of approaches, mainly caused by the iterative process; the other was bad process visibility, i.e., it would be difficult to measure process evolution and progress towards the final solution. Both these problems were anticipated, and we tried to restrict their adverse impact on the project using object-oriented analysis and design methods and CASE tools.

7 3.3. Evolutionary Prototyping The evolutionary process model has a privileged application with prototyping techniques, although it can be used with other techniques like exploratory development [10] on the AI domain. Key factors for selecting prototyping techniques were the experience of the development team with a 4th generation tool [11] and its integration with the evolutionary model itself. Badly defined requirements and user satisfaction were other factors in mind when selecting evolutionary prototyping as the fundamental paradigm. The success of evolutionary prototyping is mainly based on careful selection of tools and techniques that provide a fast iteration process, enabling the integration of user suggestions and comments. Another key issue on prototyping is system validation and verification. Verification can only be done when we have a well-defined system specification. System validation, on the other hand, can be done during prototyping delivery Object-Oriented Analysis and Design Methods (OOADM) When we selected OOADM, we wanted to cope with the lack of visibility and the bad system structure of the evolutionary approach. Since OOADM base their strategy on encapsulation, viewing the system as a set of interacting objects, we could use this characteristic to provide a strong abstraction layer to the development team. This abstraction level should also benefit from other object-oriented paradigm characteristics [12] and from the clear method notation, enabling all the participants to interact on system analysis. Our main goal was then to balance the problems of the evolutionary approach with the discipline of the OOADM, in such a way that developers and users could benefit from a clear common notation, and visibility could be qualitatively measured 1 with analysis and design diagrams. Diagrams also maintain the system structure enabling the use of analysis and design patterns and CASE tools. Although only using OOADM could not prevent bad system structure, its use enables a more stable system rewrite policy, keeping the evolutionary effort intact. There are many OOADM [14], and for the present project we selected OMT (Object Modelling Technique) from Rumbaugh et al [15]. The main reasons for selecting OMT were the following: It is an easy to understand method with a good learning curve, this is a key factor since the development team and the end users had little or no contact with OO methods; The static model as a very clear notation, somewhat similar to the relational model (i.e., there is usually a simple mapping to a relational schema), the only model known by the development team; Its dynamic model uses one of the most expressive notations Harel Statecharts [16], this factor is extremely important for modelling communication protocols, an important part of SITINA; It is reasonably well supported by commercial CASE tools [17]; 3.5. CASE Tools CASE tools were expected to introduce productivity gains similar to the ones achieved with the introduction of CAD tools on other engineering disciplines. However, the real impact of CASE tools has been far from what we would expect [18]. CASE tool efficiency depends mainly on its adjustment to the problem domain and to the analysis and design method used. On the other hand, the tool needs an adequate support from the supplier since it will be used through all the system life until its obsolescence. Other key factors include integration with the development environment and

8 proper user training. The CASE tool we selected was Rose 1. The main function of the tool was to maintain conceptual OMT models throughout the evolutionary process and enable future versions of the product to evolve from this repository. The development tool (4GL) was used in all the implementation tasks involved in the project, from code editing to database and user interface design. 4. FROM PRACTICE TO THEORY: LESSONS LEARNED This section presents the lessons learned from our experience with the SITINA project, regarding the models, methods and techniques mentioned before Regarding Evolutionary Prototyping As mentioned before, evolutionary development and prototyping techniques are closely coupled models, usually used together and having therefore common problems. These problems are well identified and documented in [10], [19], [20], [21] and [22]. We will mention below those we met during the project development, together with some ideas or workarounds used and tested on this experience. (i) Visibility is reduced and regular deployments are required to measure progress. Although several authors mention this problem as a cause for systems high cost and increased deploying time, our experience was quite different. OMT and prototype evaluation used together enabled the development team and the users to measure progress; the conceptual models and diagrams enabled communication between end-users and the development team. The 4GL, although limited and without CASE tool integration, was an excellent development tool for rapid prototyping. The development team could easily integrate users requirements and let them experience different interfaces. From our perspective regular testing deployments was not a problem, on the contrary, it was a key issue for project success and user satisfaction. (ii) End systems are badly structured. This was a problem, but again OMT and the CASE tools provided the basis for system stability. Conceptual models enabled the team to track system analysis and design, keeping in mind the requirements. The 4GL enabled the team to quickly rewrite parts of the system, reacting to requirement changes. The major problem here was the lack of integration between the conceptual models (CASE tools) and the actual code (4GL). A great effort was needed to keep the conceptual models up-to-date. Another key factor was the prototype objectives, as it was very important, for overall system stability, to keep them always in mind, maintaining objectives already achieved from other iterations and focusing only in the new ones. This policy prevented the development team from rewriting the system each time a prototype was evaluated. (iii) You need highly qualified people. The impact of people's qualification in the software process is not fully studied and it was not our intention to do so. The work of Bach [23] highlighting the human factor on the software development process and the idea of heroes opens some interesting discussion points. Nevertheless, it seems clear that this evolutionary prototyping approach is more suitable for small highly motivated teams, working on small/medium scale projects. Communication between practitioners and between the development team and end-users was definitely a key factor for project success. 1 Quantitative approaches to process visibility measurement can be adapted from proposals like the Personal Software Process (PSP) [13].

9 4.2. A new Proposal for Evolutionary Prototyping The evolutionary approach did well on almost all aspects of the development process and it adapted well both to the organisational context and to the problem. As long as its weaknesses are well identified and workarounds planned in advance, this approach can be effective. Application Domain Analysis Organisational Context Analysis General System Specification OOADM selection Tools selection Prototype goal definition Design decisions Prototype implementation Analysis Models Partial tests Prototype evaluation Prototype adequate? No Yes Final Tests System Delivery Figure 6 - Refinement Proposed for the Evolutionary Process Model The model proposed (see Figure 6) enables the team to retain strategic functions of scheduling, risk management, and visibility, creating a sustained and contained context to use the Nike approach on the design and implementation level. Therefore, the development team is capable of integrating a more robust process model with minor changes to its habits and experience. The robustness of this refinement relies on four factors not considered in the base model [10]: (i) Start from the organisational and application domain analysis, not from the abstract problem specification. This factor ensures the development team and the end-users are aware of the model to be used and agree to follow an evolutionary approach. This approach also guaranties that application domain issues, like architectural and important design decisions, are evaluated before an actual problem specification can be stated. (ii) Careful selection of methods and tools is done before we enter the iterative cycle. This selection depends on the problem and organisational issues not on the process itself. (iii) On each iteration of the process we define and evaluate prototype objectives, facilitating risk management and project scheduling. 1 Rational Corporation

10 (iv) Last but not least, we propose the maintenance of design decisions and analysis models in the process model itself. These issues, preferably maintained by automated tools, enable process visibility and maintenance, retaining the system structure OMT (Object-Modelling Technique) The development process confirmed all the selection factors for OMT. There were, however, some problems with the method: (i) Functional decomposition on the architectural model [14] is clearly unsatisfactory for an object-oriented method; (ii) OMT has a weak support for external and user-interface modelling. Although UML [24] partially solved this problem integrating use-case diagrams from Jacobson [25], OOADM in general, still lack a good support for user interface design. Key issues are related to the mapping between the objects and actions from the task to the interface domain and the internal objects. Some of the problems could have been corrected if we had used UML as the OOADM, but, when the project started, in early 1996, UML was not sufficiently mature to be used. Information was scattered by tutorials and draft papers, clearly not stable enough to enable the development team to learn and use them effectively CASE Tools As we mentioned before, CASE tool integration played a major role controlling some of the problems of the evolutionary prototyping approach. The major problem was the lack of integration between the 4GL and the analysis and design support tool. Clear integration between these two kinds of tools [26], as mentioned by Forte [27] on a revision of 4GLs, can be a major benefit for process visibility, maintainability and comprehensibility. In this experience we learned that CASE tools, not only affect working practices, but also tend to be abandoned after an initial time of use 1. We think the integration with the 4GL could prevent this effect and increase CASE tool penetration in SMEs environments. The 4GL performance was also a key factor on process improvement and model support. The superior abstraction level of such languages (as opposed to 3GLs [28]) increases implementation productivity by accelerating code production, debugging and maintenance. The integration of user interface design and database access with these tools enables the development team to quickly react to user feedback. 5. CONCLUSION AND FUTURE DEVELOPMENTS This case study allowed us to evaluate the performance of the software engineering discipline when applied to a typical problem, involving typical people, companies, tools and products. We tried to adapt the software engineering theory to the organisational (and social) reality of the Nike approach. The careful selection of models, methods, techniques and tools and its use in reality requires that we know the people that will use them, their habits, the way they work together, their qualities and weaknesses. Only then must we evaluate the problem and the end-users' expectations, assuring good communication channels between all the parties involved in the software development process.

11 The experience described in this paper also highlights evolutionary prototyping as a real alternative for software development, and a good rescue capsule to the Nike process model. Prototyping has always been a successful model in other engineering disciplines but we believe that its potential has always been underrated in the software engineering field. Its well-documented weaknesses, instead of being a problem, enable the practitioners to plan before using the model. The real key issue to prototyping success is to use other software engineering techniques and tools to control the process and maintain stability. Object-oriented analysis and design methods enable the practitioners to maintain visibility and control the structure of the system. They also enable users to interact with a clear common notation on system analysis and design. 4GLs enable rapid application development quickly integrating user requirements on the iterative evaluation process. Finally CASE tools, although not still well integrated with most of the current development tools, can bridge rapid development with systematic and careful analysis and design, maintaining conceptual models and enabling process verification, validation and progress measurement. The case study presented here showed us that success in SMEs process improvement is indeed possible. We believe it comes when we can improve our theories by applying them to the real practice. We feel it is possible and indeed desirable to generalise some of our results by evaluating them in a different SME context. 6. ACKNOWLEDGMENTS Nuno Jardim Nunes was partially supported by the FCT (JNICT), Praxis XXI national research project 2/2.1/TIT/1662/95 - SARA ("Society of Animated and Responsible Agents"). João Falcão e Cunha was partially supported by JNICT with grant BLS 47-P REFERENCES [1] Nunes, N., Cunha, J. F., SITINA: Report on a Supervisory and Decision Support System for the Hidroelectrical Power Plants in Madeira Island, Internal Research Report, UMa-T&B, [2] Nunes, N., SITINA Technical Manual - Architecture, Internal Technical Report UMa-T&B, [3] Boyer, S.A., SCADA: Supervisory Control and Data Acquisition, Instrument Society of America, [4] Strock, O.J., Rueger, E.M., Telemetry Systems Architecture, Instrument Society of America, [5] Turan Gonen, Electric Power Distribution System Engineering, MacGraw Hill, [6] Booch, G. Object Solutions: Managing the Object-Oriented Project, Addison-Wesley, [7] Cattaneo, F., Fuggetta A., Lavazza L., An Experience in Process Assessment, Proceedings of the ICSE 95, pp , IEEE Computer Society, [8] Brodman, J., Johnson, D., What Small Businesses and Small Organisations say about CMM, Proceedings of the ICSE 94, pp , IEEE Computer Society, [9] Nunes, N., The Status of the Software Engineering Practice in Portugal - A Survey to the Small/Medium Sized Companies, Draft internal research report, [10] Sommerville, I., Software Engineering 5ed, Addison-Wesley, [11] Forte, G., Tools fair: out of the lab, onto the shelf, IEEE Software, 9(3), 70-9, [12] Booch, G., Object Oriented Analysis and Design with Applications 2ed., Benjamim/Cummings, [13] Humphrey, W., A Discipline for Software Engineering, Addison-Wesley, This effect was observed on post-project discussions with people from the company. They continued to use OMT and even started to embrace UML, but they are also shifting from Rose to a simple drawing program.

12 [14] Fowler, M., A Comparison of Object-Oriented Analysis and Design Methods, in OOPSLA 95 (Tut.12), [15] Rumbaugh, Blaha, Premerlani, Eddy, Lorensen, Object-Oriented Modeling and Design, Prentice Hall, [16] Harel, D., Statecharts: a Visual Formalism for Complex Systems, Science of Computer Programming [17] CASE Tool Index, URL: [18] Iivari, J., Why Are Case Tools Not Used, Communications of the ACM, 39(10), October [19] Pressman, R., Software Engineering - A Practitioner s Approach, 3rd Ed. Eur. Adapt., McGraw-Hill, [20] Humphrey, W., Managing the Software Process, Addison-Wesley, [21] Gordon, S., Bieman, J., Rapid Prototyping: Lessons Learned, IEEE Software, 12(1) January [22] Luqi, Royce, W., Status Report: Computer-aided Prototyping, IEEE Software, November [23] Bach, J., Enough About the Process: What we need are heroes, IEEE Software 12(2), [24] Rational Software Corporation, UML Summary, [25] Jacobson I., Christerson M., Jonsson P., Overgaard G., Object Oriented Software Engineering: a use case driven approach, Addison-Wesley, [26] Fuggeta A., A Classification of CASE Technology, IEEE Computer, December [27] G. Forte, Tools fair: out of the lab, onto the shelf, IEEE Software, 9(3), 70-9, [28] Matos, V., Jalics, P., An Experimental Analysis of the Performance of Fourth Generation Tools on PCs, Communications of the ACM 11 (32), 1989.

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Software Engineering Tools and Methods

Software Engineering Tools and Methods Software Engineering Tools and Methods Fernando Brito e Abreu (fba@di.fct.unl.pt) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10

More information

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL Immature versus Mature Software Organisations In an immature software organisation, software processes are generally improvised by practitioners and their

More information

Family Evaluation Framework overview & introduction

Family Evaluation Framework overview & introduction A Family Evaluation Framework overview & introduction P B Frank van der Linden O Partner: Philips Medical Systems Veenpluis 4-6 5684 PC Best, the Netherlands Date: 29 August, 2005 Number: PH-0503-01 Version:

More information

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document

More information

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of

More information

Re Engineering Software Development Process for ebusiness Application Development

Re Engineering Software Development Process for ebusiness Application Development TR No. CIT/24/2003 Fifteenth International Conference on Software Engineering and Knowledge Engineering San Francisco Bay - 30 June - 3 of July 2003. Re Engineering Software Development Process for ebusiness

More information

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

Component Based Development in Software Engineering

Component Based Development in Software Engineering Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software

More information

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different

More information

UML SUPPORTED SOFTWARE DESIGN

UML SUPPORTED SOFTWARE DESIGN UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: darko.gvozdanovic@etk.ericsson.se

More information

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican

More information

The Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling

The Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling The Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling Dr. József Tick Budapest Polytechnic, Hungary, tick@bmf.hu Abstract: Higher level software engineering

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Lessons Learned from the Teaching of IS Development

Lessons Learned from the Teaching of IS Development Journal of Information Technology Education Volume 1 No. 2, 2002 Lessons Learned from the Teaching of IS Development Filomena Lopes and Paula Morais Universidade Portucalense, Porto, Portugal flopes@upt.pt

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Electronic Healthcare Design and Development

Electronic Healthcare Design and Development Electronic Healthcare Design and Development Background The goal of this project is to design and develop a course on Electronic Healthcare Design and Development using Unified Modeling Language (UML)

More information

A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay

A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay Jonathan I. Maletic Robert G. Reynolds Computer Science Department Wayne State University 431 State Hall Detroit, MI 48202

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Quantitative and qualitative methods in process improvement and product quality assessment.

Quantitative and qualitative methods in process improvement and product quality assessment. Quantitative and qualitative methods in process improvement and product quality assessment. Anna Bobkowska Abstract Successful improvement of the development process and product quality assurance should

More information

Reuse and Capitalization of Software Components in the GSN Project

Reuse and Capitalization of Software Components in the GSN Project Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi (Ph.D. Student, NTNU) Reidar Conradi Ericsson AS, Grimstad, Dept. Computer and Information

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

Title: Topic 3 Software process models (Topic03 Slide 1). Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski

More information

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Software Engineering for Software-Intensive Systems: III The Development Life Cycle Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

What CMMI Cannot Give You: Good Software

What CMMI Cannot Give You: Good Software What CMMI Cannot Give You: Good Software Ivar Jacobson ivar@ivarjacobson.com ivar@jaczone.com Objective To understand what CMM/CMMI is and what it is not To demonstrate how the unified process helps you

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation

More information

A process-driven methodological approach for the design of telecommunications management systems

A process-driven methodological approach for the design of telecommunications management systems A process-driven methodological approach for the design of telecommunications management systems Thierry FRAIZE, Julio VILLENA, Jean-Daniel GUEDJ TELECOM ARGENTINA Av Dorrego 2520 (1425) Buenos Aires Argentina

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Axiomatic design of software systems

Axiomatic design of software systems Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

More information

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

A Process for ATLAS Software Development

A Process for ATLAS Software Development Atlas Software Quality Control Group A Process for ATLAS Software Development Authors : Atlas Quality Control Group M. Asai, D. Barberis (chairman), M. Bosman, R. Jones, J.-F. Laporte, M. Stavrianakou

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2101 Software Engineering Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 00 30 60 100 40 100 4 Rationale Software

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management? 11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Mennatallah H. Ibrahim Department of Computers and Information Sciences Institute

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

A Rapid Development Process with UML

A Rapid Development Process with UML A Rapid Development Process with UML Giuliano Armano DIEE, Dipartimento di Ingegneria Elettrica ed Elettronica, University of Cagliari Piazza d Armi I-09123, Cagliari (Italy) Tel. +39-70-675.5878 armano@diee.unica.it

More information

The use of Trade-offs in the development of Web Applications

The use of Trade-offs in the development of Web Applications The use of Trade-offs in the development of Web Applications Sven Ziemer and Tor Stålhane Department of Computer and Information Science Norwegian University of Technology and Science {svenz, stalhane}@idi.ntnu.no

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Software Development Process Selection Approaches

Software Development Process Selection Approaches The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department

More information

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

A Real Time, Object Oriented Fieldbus Management System

A Real Time, Object Oriented Fieldbus Management System A Real Time, Object Oriented Fieldbus Management System Mr. Ole Cramer Nielsen Managing Director PROCES-DATA Supervisor International P-NET User Organisation Navervej 8 8600 Silkeborg Denmark pd@post4.tele.dk

More information

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919 Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned

More information

ESPRIT 29938 ProCure. ICT at Work for the LSE ProCurement Chain:

ESPRIT 29938 ProCure. ICT at Work for the LSE ProCurement Chain: ESPRIT 29938 ProCure ICT at Work for the LSE ProCurement Chain: Putting Information Technology & Communications Technology to work in the Construction Industry The EU-funded ProCure project was designed

More information

Small Group Software Development: A Case Study

Small Group Software Development: A Case Study Small Group Software Development: A Case Study Rob Jansen University of South Carolina University of Minnesota, Morris [phone number] jans0184@morris.umn.edu ABSTRACT The development process that a group

More information

270015 - IES - Introduction to Software Engineering

270015 - IES - Introduction to Software Engineering Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Elite: A New Component-Based Software Development Model

Elite: A New Component-Based Software Development Model Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-

More information

Introduction to Software Engineering (ESE : Einführung in SE)

Introduction to Software Engineering (ESE : Einführung in SE) Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises

More information

Dong-Joo Kang* Dong-Kyun Kang** Balho H. Kim***

Dong-Joo Kang* Dong-Kyun Kang** Balho H. Kim*** Visualization Issues of Mass Data for Efficient HMI Design on Control System in Electric Power Industry Visualization in Computerized Operation & Simulation Tools Dong-Joo Kang* Dong-Kyun Kang** Balho

More information

A Rational Development Process

A Rational Development Process Paper published in: Crosstalk, 9 (7) July 1996, pp.11-16. A Rational Development Process Philippe Kruchten Vancouver, BC pbk@rational.com 1. Introduction This paper gives a high level description of the

More information

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus

More information

A Systematic Approach for Constructing Static Class Diagrams from Software Requirements

A Systematic Approach for Constructing Static Class Diagrams from Software Requirements A Systematic Approach for Constructing Static Class Diagrams from Software Requirements Nabil Arman Department of Mathematics and Computer Science Palestine Polytechnic University Hebron, Palestine Khalid

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software

Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software Special Thanks: LDRD NNSA ASC SAND#: 2009-0579 C Michael A. Heroux James M. Willenbring Sandia National Laboratories

More information

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria

More information

Introduction to Software Engineering

Introduction to Software Engineering CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study

More information

Conclusions and Further Work

Conclusions and Further Work Conclusions and Further Work Page 245 CHAPTER EIGHT Conclusions and Further Work This final chapter brings the thesis to a close by returning to the agenda which was established in chapter 1. It summarises

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

How To Understand Software Engineering

How To Understand Software Engineering PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both

More information

Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches

Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches Paul Crowther 1 and Jacky Hartnett 2 1 Sheffield Hallam University, School of Computing and Management Sciences, United

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

The Role of Requirement Engineering in Software Development Life Cycle 1

The Role of Requirement Engineering in Software Development Life Cycle 1 The Role of Engineering in Software Development Life Cycle 1 Abhijit Chakraborty, 2 Mrinal Kanti Baowaly, 3 Ashraful Arefin, 4 Ali Newaz Bahar 1, 2 Department of Computer Science and Telecommunication

More information

Process Improvement. Objectives

Process Improvement. Objectives Process Improvement Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 1 Objectives To explain the principles of software process improvement To explain how software process factors

More information

Open Enterprise Architectures for a Substation Password Management System

Open Enterprise Architectures for a Substation Password Management System CIGRÉ Canada 21, rue d Artois, F-75008 PARIS (154) Conference on Power Systems http : //www.cigre.org Toronto, October 4-6, 2009 Open Enterprise Architectures for a Substation Password Management System

More information

Changing Roles and Responsibilities from Traditional project management to Agile project management

Changing Roles and Responsibilities from Traditional project management to Agile project management Changing Roles and Responsibilities from Traditional project management to Agile project management Vishvadeep Tripathi School of computer science and IT Devi Ahilya University Indore, India vishvadeep@gmail.com

More information

Identifying BI Opportunities and BIS Development Process

Identifying BI Opportunities and BIS Development Process Identifying BI Opportunities and BIS Development Process Week 4 Dr. Jocelyn San Pedro School of Information Management & Systems Monash University IMS3001 BUSINESS INTELLIGENCE SYSTEMS SEM 1, 2004 The

More information

Total Exploration & Production: Field Monitoring Case Study

Total Exploration & Production: Field Monitoring Case Study Total Exploration & Production: Field Monitoring Case Study 1 Summary TOTAL S.A. is a word-class energy producer and provider, actually part of the super majors, i.e. the worldwide independent oil companies.

More information

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage Universiteit Leiden ICT in Business Capability Maturity Model for Software Usage Name: Yunwei Huang Student-no: s1101005 Date: 16/06/2014 1st supervisor: Dr. Luuk Groenewegen 2nd supervisor: Dr. Nelleke

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

The Helicoidal Life Cycle as a Tool for Software Development and Enhancement

The Helicoidal Life Cycle as a Tool for Software Development and Enhancement The Helicoidal Life Cycle as a Tool for Software Development and Enhancement Antonio Carlos Pinto Dias Alves Universidade Federal do Rio de Janeiro COPPE Programa de Engenharia Nuclear Av. Brigadeiro Trompowiski

More information

Software Project Management using an Iterative Lifecycle Model

Software Project Management using an Iterative Lifecycle Model Software Corporation Software Project Management using an Iterative Lifecycle Model 1 Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach

More information

EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE

EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE International Journal of Soft Computing, Mathematics and Control (IJSCMC),Vol., No.1, February 1 EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE Mohammed Alnajjar 1, Prof. Samy S. Abu Naser 1 Faculty

More information

Software Engineering. What is a system?

Software Engineering. What is a system? What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,

More information

Chapter 6 Essentials of Design and the Design Activities

Chapter 6 Essentials of Design and the Design Activities Systems Analysis and Design in a Changing World, sixth edition 6-1 Chapter 6 Essentials of Design and the Design Activities Chapter Overview There are two major themes in this chapter. The first major

More information