Week 10 – Compare and contrast Traditional and Agile systems development methodologies

As per Traditional systems development methodology, also known as Waterfall Model, derives its name due to the cascading effect from one phase to the other, each phase has well defined starting and ending point, with identifiable deliveries to the next phase. It’s shown in picture attached to the blog (Figure 10.1)

The model consist of six distinct stages, namely-Requirements analysis phase, Specification phase,  System and Software Design phase, Implementation and Testing phase, Integration and System Testing phase, and Maintenance. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is rigid and linear. Waterfall development has distinct goals for each phase of development where each phase is completed for the next one is started and there is no turning back.

The perceived advantages of the waterfall process are that it allows for departmentalization and managerial control. A schedule is typically set with deadlines for each stage of development and a product can proceed through the development process. In theory, this process leads to the project being delivered on time because each phase has been planned in detail.In practice, waterfall development often falls short of expectations as it does not embrace the inevitable changes and revisions that become necessary with most projects. Once an application is in the testing stage, it is very difficult to go back and change something that was not thought of in the concept stage. Agile software development is a conceptual framework for undertaking software engineering projects, is based on a collection of principles, such as the importance of assuming simplicity when you are modelling and embracing change as you are working because requirements will change over time. Most agile methods attempt to minimize risk by developing software in short time boxes, called iterations, which typically last one to four weeks. Each of iteration is like a miniature software project of its own, and includes all the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of each of iterations. At the end of each of iterations, the team re-evaluates project priorities.   Agile methods emphasize realtime communication, preferably face-to-face, over written documents. and also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods.

Published in: on September 25, 2006 at 2:08 pm Leave a Comment

week 3 -Gantt Chart to represent the study schedule followed by me (s0098743) in order to complete the course.

Published in: on September 24, 2006 at 7:29 am Leave a Comment

Week 6 – My experience with CQU’s Information System output and user interface design

Week 7 – Data Design Concepts

Week 4 : Data and Process Modeling Concepts

The data collection requires an infrastructure. Responsibilities for data collection, storage, analysis, and presentation are required, as well as definitions of when, where, and how the data is collected, and how it is validated.( Bergman, Haug, and Olsen,2001).

Several steps are essential to ensure the success of the data modelling process:

  1. Formation of the data modelling or planning team;
  2. Determination of the planning tools that will be used;
  3. Studying user requirements and defining these through the use of data modelling diagrams; and
  4. Development of the database design.

A process is modelled so that it implements the business logic independent of specific endpoint properties and capabilities. It establishes the common behaviour across all endpoints for the enterprise. Its parts can always be implemented in a separate process definitions and reused within the processes implementing all the different execution paths.

The process operates on data, therefore, must contain all data that are required to implement it’s logic as well as all data that required by the endpoints. This is done in two steps – firstly, create event type and define all data necessary inside the event that are necessary for the process; then later at second stage, add more data to the event based on the data requirements from the endpoints. This data is the provided by one endpoint and required by another endpoint. The change to the event type based on the endpoint requirements does not affect the process specification because they are not accessed by the process at all.

Data and process modelling, being a process-centered approach, focuses on the flow of data and the processes that affect that data. It analyses the system’s inputs, outputs, and processes, and focus on the flow of data through the system, in order to produce a logical business information systems model. It’s easy to follow and relate to a process-centric approach.T

he three main data and process modelling techniques are DFDs, the data dictionary, and process description tools.

A data flow diagram (DFDs) is a structured, diagrammatic technique for showing the functions performed by a system and the data flowing into, out of, and within it. DFDs show the flow of data from external entities into the system, showed how the data moved from one process to another, as well as its logical storage.

The data dictionary documents the contents of data flows, data stores, external entities, and processes. In database management systems, Data Dictionary is a file that defines the basic organization of a database. A data dictionary contains a list of all files in the database, the number of records in each file, and the names and types of each field.  

Describing a process unambiguously to both developer and user is a balancing act. The analyst must use methods with which a programmer is familiar, but not confuse a user. Process description tools include structured English, decision tables, and decision trees.  Structured English is a subset of Standard English used to describe logical processes clearly and accurately. A decision table is a tabular description of a logical structure. A decision tree is a horizontal graphic representation of a logical structure.

The significance of data modelling is first and foremost its process-independent representation of business data, and second, it’s rapid adoption by the DBMS vendors as a viable form of data management.  

Published in: on September 23, 2006 at 6:27 am Leave a Comment

Solution for week 2 (17 July) – Understanding a good Systems Analyst.

Systems analysts are very important members of a systems project team because of their system analysis and system modelling skills. It is an important technique to understand and develop knowledge of human problems, define them in goals and then organize knowledge and understanding to resolve them in a systemic way. A system analyst need to develop skills like – an understanding of an organization, communicating with people, analysing a situation or problem, creating a feasible solution from both technical and business point of view, and working on solution in a team oriented environment using systems models and IT.

Business understanding is very necessary to pin point the process of systems modelling and systems models. The knowledge and understanding, of an organization and its work, is important to do thorough systems analysis. A genuine interest in business is necessary to develop understanding. The business knowledge will determine that which technical tools, the team should use in order to get the result.

This has told me what I need in order to become a good systems analyst. I plan to work on my skills, by studying the different case studies in order to understand different aspects of business; increasing my communication skills in order to interact with people and learn and understand their perspective; by learning to listen and observe; by increasing my technical skills; keeping in touch with ever growing progress in different fields. In order to create a perfect system all the business and technical knowledge, which can be acquired, is less. It’s necessary to keep learning from experiences.

With the help this course, I hope to get those learning experiences in order to enhance my knowledge and skills as a systems analyst. This course is very important for me. It needs to help me broaden my practical, analytical, communicative and organizational knowledge. There should be trips to organizations to help gain the hand on experience and seminars from experts to learn about their perspectives and experiences. A wide range of sources should be provided to cover all the areas in technology. Special communication classes, if possible, should be arranged. So far I haven’t had any practical experience through this course. The study contents are really good but we need some place to apply those contents.

The faculty and over all help from organization has been a nice experience. So, over all I am satisfied up to a certain level but there is so many improvements could be done in the area of studies.

Published in: on September 20, 2006 at 10:21 am Leave a Comment