Week12

October 8, 2006
  1. What are the skills and knowledge that a good systems analyst requires?

A good analyst should be a person who basically can analyse the problems, design and implement solutions for the problems. Analyst should be capable of communicating with customers, technical staff such as programmers, and management. This implies a good system analyst should have a good understanding of technical and business details and good communication skills.

  1. How has your answer to question 1 this week changed from your post in response to this same question when it was asked in Week 2?

When answering this in week 2, the answer is written directly from the text book, where as in week 12, it’s just an understanding.

  1. How well did your actual study for the course this term match the study schedule outlined in the Gantt chart you prepared in week 3?

Too many assignments in this subject and other subject, other common distractions for a normal foreign student didn’t allow me to follow the study schedule according to the plan after week 5. Basically I never recap the lectures after week 5 at all.

  1. If you were in charge of this course next term, what changes would you make to improve the course? Why?

If I am a course coordinator to this course I would have reduce some of the theory part of the subject and concentrate more on the concepts like DFD and ERD, and give more realistic examples and more time for these concepts.

Week11

October 8, 2006
  1. What were the most important concepts you learnt from this course?

Lot of analysis and design techniques have been taught in this cause. Two of the important concepts are, DFD, and ERD. Both ERD and DFD are visual representation of an Information System. While DFD address the data flow between the external entities, processes and data storage, and the possible processes in the system, ERD address the design of the data. Both techniques help system analyst to understand and represent the information system effectively.

  1. Why do you think those concepts are important?

When we become system analysts or project managers understanding these techniques are important. Business or system analyst will use these techniques to solve the problems raised by the customer and the project manager need to understand what other technical staff trying to express using these techniques or concepts. These concepts help to design the system error prone, since the model of the system has been created and analysed before the actual system is build.

  1. What concepts from this course are still causing you the greatest problems?

Identifying the external entities in DFD sometimes cause me problems. In assignment 1, it create lot of problems to me.

  1. How might the problems you are having be solved?

            I think I have some understanding on this at the moment, practise might solve the problem. I thing if I have to use these techniques again in future, I will practise some more and get more idea about that, otherwise what I learned is enough.

Since this subject is an overview and many things to cover for the term, there was no time to practise or tryout many key concepts more.

Week10

October 8, 2006

Q: As you are learning in this course there are a range of different development methodologies. For example, Part B of Assignment 2 asks you to compare and contrast traditional systems development methodologies and agile systems development methodologies. Explain how you would compare and contrast traditional and agile system development methodologies? Describe why you would do it this way.

Ans: 

Initially I will explain briefly what are traditional development methodologies and what are Agile development methodologies. After the introduction about both methods, I will discuss about selected more popular traditional development methodologies and agile methodologies. In the discussion I will explain what are the similarities each traditional method and agile method have and in which way Agile method differ from the traditional method. This will give more understanding than just compare and contrast both traditional and Agile methods in general.

week 8

September 10, 2006

Q: Post an annotated bibliography for Part B of Assignment 2 to your blog. Your post should follow the advice given by the resources from the assignment 2 page on the course website.

A:

1: Agile software development – Wikipedia entry

The author of this entry in Wikipedia discusses almost every aspect of Agile software development starting from history of the Agile software development to criticisms over the Agile software development. In this article Agile software development is compared with traditional software development methodology – water fall method, iterative development methodology, and non-defined software development method – cowboy coding. Author touches principles behind the Agile software development methodology as well. From all these discussions the author suggests that Agile software development is suitable if there are fast changing requirements, and small skilled development group is involved. If there are clearly defined requirements, high secure development project, or larger developer involved then according to author the traditional methods are better than Agile software development methodology..

2: Highsmith, J & Cockburn, AC 2001, Agile software development: the business of innovation, Computer, Sept., vol. 34(9), pp. 120-127.

Authors of this article try to justify the initiative of the Agile software development methodology. Authors clearly expressing that the change in the business demand and process create the need of a new software development technique which can deliver the quality product quickly or on time. For example, earlier businesses belief put more effort to find out all the requirements in earlier state will reduce the cost and most of the time changes to the requirements were not accepted, but now trying to avoid changes to the requirement during the development process is considered as irresponsible behaviour of the software development team. Agile software development addresses these issues and come up with the solution to reduce the cost even the requirements are changed during the development process. Basic principles of Agile software development are having functioning program and effective team work. According to the author the success of the software development is mainly depend on the collaboration between all the stake holders of the particular software. This concept is emphasised in Agile software development process.

3: Truex, D, Baskeville, R & Klein H 1999, Growing Systems in emergent organisations, Communications of the ACM, Aug., vol. 42(8), pp. 117-123.

In this article Authors address the problems in the systems development methodologies. They argue that the business perspective only cause the problems not the software development tools. Most of the system development structures concentrate on low maintenance; this creates inability to adapt the changes in the requirements during the maintenance stage. Authors suggest a substitute solution for these, having a continuous development during the software life cycle. This will allow the information system to adapt to the organisational change, which cannot be eliminated to stay alive in this competitive world.

week 7

September 10, 2006

Q1: What were the most important concepts you learnt this week?

This week we learned Entity relationship diagram and normalization of the table structure. Entity relationship diagram is another way to graphically represent the system. This will help to identify all the possible data storages needed for the system. Normalization is a technique to design a proper database structure. This will provide facilities such as easy search and eliminate the data redundancies.

Q2: Why do you think those concepts are important?

For any Information System, data storage is an important part. If the database design is done properly then most of the run time or maintenance time errors can be avoided. If we can identify all the key fields at all the table involved then the programming also become easy, data retrieval and data search can be done in less amount of time. So these entity relationships and normalization are very important concepts.

Q3: What concepts from this week are causing you the greatest problems?

I have experiences in analysis and design and I have learnt these technics earlier in my bachelor’s degree as well, only difference I can see is the notations we use in Entity Relationship Diagram is slightly different. Other than that hope everything is under control.

Q4: How might the problems you are having be solved?

Hopefully refer the textbook and follow the lecture will solve this miner problem I have at the moment.

week 6

September 10, 2006

Q: This week you learnt about the importance of the processes used in the design of an information system’s output and user interface design. Describe any connections you can make between the output and user interface design topics you covered this week and your experience with any of CQU’s information systems (e.g. e.rolment, MyCQU, e-courses/Blackboard, Webfuse – the system that hosts this course website, OASIS – the system you use to submit assignments 1 and 2 for this course, and any others).

A:

During the interface design process, I strongly believe all the possible inputs and outputs should be considered and addressed. Also the output medium will impact on the interface design mostly, for example if the system is trying to display the output in internet then the interface should be web pages. “Output” can be defined as give the information to the user what he/she is looking for or need to have/know, but the “Interface” is provide that output to the user in a way he / she can receive it properly. Most of the Information Systems fail because of their poor user friendliness or in other words inappropriate interface designs. If the interfaces are not designed in a way that they can give proper output to the user, it is worthless. Some of our CQU information systems interfaces are designed to give information to the users, without considering the user friendliness/ attractiveness. For example, if a student has to submit an assignment online, rather than he/she is expected to remember the address of the Webfuse or check his/her email or course profile, it could be designed as a direct link from the main CQU webpage, it will reduce the time one spend to submit an assignment.

week 4

August 12, 2006

In week 5 we have started the chapter 4 and learned some basic concepts of data flow diagrams in the lecture. These answers are written from my self-learning, and may not be up to the standard.

Q1: What were the most important concepts you learnt about data and process modelling this week?

A1: According to Shelly et al (2006) data process modelling involves three main tools; data flow diagram (DFD), data dictionary and process description.

(i) DFD: This shows how data moves through an information system but does not show the programming logic or processing steps. A set of DFDs provides a logical model that shows what the system does and how it does it. This is important, because focusing on implementation issues at the initial state would restrict the search, and lead to a most effective system design. Four symbols used in DFD; they are,

Process; receives input data and produce output that has a different content, form, or both.

Data Flows; a path for data to move from one part of the information system to another.

Data stores; represent the data, which is stored in the system.

Entities; external entities provide data to the system or receive output from the system.

(ii) Data Dictionary/Data Repository: This can be defined as either documented information, which is shown in DFDs’ or ‘central storehouse of information about the system data’. This is used to collect, document and organise specific facts about the system.

(iii) Process Description: Document the details of a functions primitive, and represents a specific set of processing steps and business logic is called Process Description. Typical process description tools include structured English, description tables and decision trees.

Q2: Why do you think those concepts are important?

A2: As mentioned in (A1), to have a effective system design or to identify the boundary of the system before starting the system design or coding these concepts are very useful. Since these concepts document all the external entities, inputs, outputs, data should be stored, and the data flow, this will help in any stage of the project including design, coding, and maintenance. The availability of all the external entities and the processes gives the advantage to analyse the difficulties may arise during the System Development Life Cycle as well, and this can reduce the project failure up to certain extent. So I feel these concepts are very important in any Information System implementation.

Q3: What are the data and process modelling concepts that are still causing you the greatest problems?

A3: Identify the internal processes for the low level DFD is a pretty confusing one. I feel this part is very important in a system development since both data dictionary and process description are based on DFDs and they are straight forward if the DFD is available. For me in context diagram level finding the external entities and the data flows between them and the process is still a complicated one, there is a chance to mistreat a process as an entity and vis versa on this level. This may effect the entire system design.

Q4: How might the problems you are having be solved?

A4: Only practising more DFD drawing can solve this problem, but I am planning to refer some other system design documents and books for understand more about this.

Week 3

July 29, 2006

Q: You are required to develop a Gantt chart to represent the study schedule you plan to follow when completing the coursework and assessment for COIS20025 Systems Development Overview.

Ans:

There are forty-four tasks identified, and they are scheduled. Examination for this subject was assumed to be on 12th of October. To view the Tasks and the charts please go to the view by clicking on the picture (twice).

Tasks:-

blog2modifiedtask.gif

Schedule (Gannt Chart):-

blog2modified.gif

Schedule (Tracking Gannt Chart):-

blog2modifiedtracking.gif

Week 2

July 21, 2006
  1. What are the skills and knowledge that a good systems analyst requires?

    According to “Systems Analysis and Design” by Shelly, 6th edition pages 4, 26 and 27, systems analyst is the one who analyse, create, implement and maintain information systems. To handle these overall responsibilities he/she needs much technical knowledge or background. Technical knowledge and skills such as basic programming knowledge, knowledge to analyse and understand the business processes, sound communication knowledge and leadership skills including being flexible are essential to be a successful system analyst. These skills are needed to avoid the over or under estimate the time needed to develop an information system, to communicate with higher, middle and low management, programmers or technical staff and customers, and lead the programming or information systems development team.

    1. How do you plan to develop those skills?

    To train my self to get the skill that understand and analyse the business processes, I am planning to spend more time on the case studies given on the text book, analyse them and interpret them into technical language. I think this might be more helpful than trying anything else to improve my analytical ability. To improve my communication skill, I am planning to communicate in the tutorial class when there is a time allocate for discussion and make sure that I am communicating without shyness and expressing my ideas to others and planning to write and submit my assignments and check my grades often to make sure I am improving my writing skill. And I am going to improve my programming knowledge by writing some software modules by my self during my free time.

    1. It would be helpful for the teaching staff if you could give a brief outline of your experience with the development or use of Information Systems.

    I am holding a bachelor’s degree in computer science, this course covered most of the software engineering and programming techniques and I was working as a software developer for more than three years in my home country Sri Lanka. This experience gave me a chance to work and develop wide range of Information Systems for different industries such as garment, electricity and warehouse management. I have used several Information Systems or tools for my day to day life; this includes email systems, word processing systems and various other software systems. I have an experience in using modeling tools such as Rational Rose. I was part of system requirement gathering team, software development team, software testing or quality assurance team and software implementing and maintaining team, this gave me more understanding about the System Analyst’s role in each stage of Software / System Development Life Cycle.

    Index

    July 20, 2006

    COIS20025: Systems Development Overview Assignment Maintenance.

    Mainainted by: Mervyn Thangarajah

    Student ID: s0111929