# data[].attributes.body
When I published my drawing in the group, only one member gave me suggestions for modification, while the other member did not participate in the discussion at all

# data[].attributes.body
team menber post first version of state diagram and first version of class diagram on May 4th(Week9)

# data[].attributes.body
I don’t think that I have made very little contribution to assignmentb. I think it’s good for my team members to give me suggestions for revisions, but if he revises my drawings at will and submits them as his own, this It's very bad. I think the diagrams I made need to be turned in. If it's just because he wants to get good grades, he is quite selfish.

# data[].attributes.body
I re-modified my stagemachinediagram, but my team member had some disputes with me. He didn't think my drawing was correct, but I thought my drawing was correct, so in the end he did not submit any drawing at all. Discuss with me, and I think there is no problem with my picture.

# data[].attributes.body
This week I started my stage　machine　diagram. I still took the class and studied how to make this diagram, so I started to make this diagram.

# data[].attributes.body
My class 　 diagram is missing some of the relationships between the class, and there is a problem with the aggregation relationship, so I revised it a bit

# data[].attributes.body
I know that there are still many things that need to be modified in my Class diagram. I discussed it with my team member. He told me that I was missing a lot of things and I re-checked the teｍplaｔｅ　of assignmentb. I did not write a lot of things, so I Continue to improve my class　diagram.

# data[].attributes.body
This is the first draft class diagram

# data[].attributes.body
This week I checked the errors of the last assignment and corrected them. I looked at the lecture　slides of Week5 and I knew how to do it and what is a class　diagram．

# data[].attributes.body
This week I started to write the seventh point. The seventh task is to ask me to study system development methodology. First of all, when I saw this request, I first thought about the methods of system development. Then I learned about Scrum Agile, System development life cycle, and Rapid application development by looking up the information. These three are very obvious methods of system development. Then I simplified it through the understanding of the materials to outline how to understand them.

# data[].attributes.body
This week I’m going to start my fourth point, and I’m ready to draw pictures. Before I started to draw pictures, I enumerated the relationship between each object and then carefully thought about what attributes there would be between them or whether I had forgotten something. After I have listed all the things, I will share these things with my group members and let them check whether I have forgotten things together.

# data[].attributes.body
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B

# data[].attributes.body
I am going to start Assignment B this week. First, I read the feedback of my Assignment A first.

I watched carefully the teacher's evaluation of our homework and the markup of errors. Then think about how to make changes and avoid making the same mistakes again. First I read the first point, and my second sentence shouldn’t be written here. Because the original intention of this sentence is to describe the development team, and then we did not ask us to mention this in this task. Immediately at the end of the article, my expression was completely opposite to the meaning of the original title. First of all, the purpose of this task was to ask me to describe the purpose instead of writing a demand report.

# data[].attributes.body
This week has been very busy.

First we completed the last system development approach (RAD) and then reviewed the previous work. At the same time, one of team member submitted the state diagram and class diagram this week, but the quality of these two diagrams was very poor, so we had to ask and instruct that team member to modify them again. By Saturday evening, the revised image was still unsatisfactory.

At the same time, in the process of communication, I found that one of team member had little understanding of the drawing methods and attributes of these two diagrams.

In order not to affect the score of the whole group, these two graphs had to be redrawn by me instead of that team member.

# data[].attributes.attachment_link.readable_text
Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.

SDLC is the acronym of Software Development Life Cycle.

It is also called as Software Development Process.

SDLC is a framework defining tasks performed at each step in the software development process.

ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.

What is SDLC?

SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.

A typical Software Development Life Cycle consists of the following stages −

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas.

Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture

SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product.

A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.

Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance

Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.

SDLC Models

There are various software development life cycle models defined and designed which are followed during the software development process. These models are also referred as Software Development Process Models". Each process model follows a Series of steps unique to its type to ensure success in the process of software development.

Following are the most important and popular SDLC models followed in the industry −

Other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.

# data[].attributes.attachment_link.description
Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. SDLC is the acronym of Software Development Life Cycle.

# data[].attributes.attachment_link.description
If you are just getting started, think of Scrum as a way to get work done as a team in small pieces at a time, with experimentation and feedback loops along the way. This learning series explores the pieces that make up the Scrum Framework.

# data[].attributes.body
This week, I continued to investigate the system development methods and completed the Scrum and SDLC methods with my team members. We first learned how to use this method from the Scrum website, and learned that iterations of this method are very fast, typically two to four weeks. SDLC is a standard system development method that is not as fast as Scrum because it has more standard programs.
I did not receive the state diagram drawn by the team member this week, so we could not modify it.

# data[].attributes.attachment_link.readable_text
System development methodologies

1. 1. SYSTEM DEVELOPMENT METHODOLOGIES Kashif Khan

2. 2. Introduction A system development methodology refers to the framework that is used to structure, plan, and control the process of developing an information system. A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses. One system development methodology is not necessarily suitable for use by all projects. Each of the available methodologies is best suited to specific kinds of projects, based on various technical, organizational, project and team considerations.

3. 3. Types of System Development Methodologies 1 - Waterfall 2 - Prototyping 3 - Incremental 4 - Spiral 5 - Rapid Application Development (RAD)

4. 4. 1 - Waterfall Strengths: 1. Ideal for supporting less experienced project teams and project managers, or project teams whose composition fluctuates. 2. The orderly sequence of development steps and strict controls for ensuring the adequacy of documentation and design reviews helps ensure the quality, reliability, and maintainability of the developed software. 3. Progress of system development is measurable. 4. Conserves resources.

5. 5. 1 - Waterfall Weaknesses: 1. Inflexible, slow, costly and cumbersome due to significant structure and tight controls. 2. Project progresses forward, with only slight movement backward. 3. Little room for use of iteration, which can reduce manageability if used. 4. Depends upon early identification and specification of requirements, yet users may not be able to clearly define what they need early in the project. 5. Requirements inconsistencies, missing system components, and unexpected development needs are often discovered during design and coding. 6. Problems are often not discovered until system testing.

6. 6. 1 - Waterfall Weaknesses: 7. System performance cannot be tested until the system is almost fully coded, and under-capacity may be difficult to correct. 8. Difficult to respond to changes. Changes that occur later in the life cycle are more costly and are thus discouraged. 9. Produces excessive documentation and keeping it updated as the project progresses is time-consuming. 10.Written specifications are often difficult for users to read and thoroughly appreciate. 11.Promotes the gap between users and developers with clear division of responsibility.

7. 7. 1 - Waterfall Situations where most appropriate: 1. Project is for development of a mainframe-based or transaction-oriented batch system. 2. Project is large, expensive, and complicated. 3. Project has clear objectives and solution. 4. Pressure does not exist for immediate implementation. 5. Project requirements can be stated unambiguously and comprehensively. 6. Project requirements are stable or unchanging during the system development life cycle. 7. User community is fully knowledgeable in the business and application. 8. Team members may be inexperienced.

8. 8. 1 - Waterfall Situations where most appropriate: 9. Team composition is unstable and expected to fluctuate. 10.Project manager may not be fully experienced. 11.Resources need to be conserved. 12.Strict requirement exists for formal approvals at designated milestones.

9. 9. 1 - Waterfall Situations where least appropriate: 1. Large projects where the requirements are not well understood or are changing for any reasons such as external changes, changing expectations, budget changes or rapidly changing technology. 2. Web Information Systems (WIS) primarily due to the pressure of implementing a WIS project quickly; the continual evolution of the project requirements; the need for experienced, flexible team members drawn from multiple disciplines; and the inability to make assumptions regarding the users' knowledge level. 3. Real-time systems. 4. Event-driven systems. 5. Leading-edge applications.

10. 10. 2 - Prototyping Framework Type: Iterative Basic Principles: 1. Not a standalone, complete development methodology, but rather an approach to handling selected portions of a larger, more traditional development methodology (i, e Incremental, Spiral, or Rapid Application Development (RAD)). 2. Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. 3. User is involved throughout the process, which increases the likelihood of user acceptance of the final implementation.

11. 11. 2 - Prototyping Basic Principles: 4. Small-scale mock-ups of the system are developed following an iterative modification process until the prototype evolves to meet the users' requirements. 5. While most prototypes are developed with the expectation that they will be discarded, it is possible in some cases to evolve from prototype to working system. 6. A basic understanding of the fundamental business problem is necessary to avoid solving the wrong problem.

12. 12. 2 - Prototyping Strengths: 1. "Addresses the inability of many users to specify their information needs, and the difficulty of systems analysts to understand the user's environment, by providing the user with a tentative system for experimental purposes at the earliest possible time." (Janson and Smith, 1985) 2. "Can be used to realistically model important aspects of a system during each phase of the traditional life cycle." (Huffaker, 1986) 3. Improves both user participation in system development and communication among project stakeholders. 4. Especially useful for resolving unclear objectives; developing and validating user requirements; experimenting with or comparing various design solutions; or investigating

13. 13. 2 - Prototyping Strengths: 4. Especially useful for resolving unclear objectives; developing and validating user requirements; experimenting with or comparing various design solutions; or investigating both performance and the human computer interface. 5. Potential exists for exploiting knowledge gained in an early iteration as later iterations are developed. 6. Helps to easily identify confusing or difficult functions and missing functionality. 7. May generate specifications for a production application. 8. Encourages innovation and flexible designs. 9. Provides quick implementation of an incomplete, but functional, application.

14. 14. 2 - Prototyping Weaknesses: 1. Approval process and control is not strict. 2. Incomplete or inadequate problem analysis may occur whereby only the most obvious and superficial needs will be addressed, resulting in current inefficient practices being easily built into the new system. 3. Requirements may frequently change significantly. 4. Identification of non-functional elements is difficult to document. 5. Designers may prototype too quickly, without sufficient up-front user needs analysis, resulting in an inflexible design with narrow focus that limits future system potential. 6. Designers may neglect documentation, resulting in insufficient justification for the finaproduct and inadequate records for the future.

15. 15. 2 - Prototyping Weaknesses: 7. Can lead to poorly designed systems. Unskilled designers may substitute prototyping for sound design, which can lead to a "quick and dof the integration of all other components. While initial software development is often built to be a "throwaway", attempting to retroactively produce a solid system design can sometimes be problematic. 8. Can lead to false expectations, where the customer mistakenly believes that the system is "finished" when in fact it is not; the system looks good and has adequate user interfaces, but is not truly functional. 9. Iterations add to project budgets and schedules, thus the added costs must be weighed against the potential benefits. Very

16. 16. 2 - Prototyping Weaknesses: 9. Iterations add to project budgets and schedules, thus the added costs must be weighed against the potential benefits. Very small projects may not be able to justify the added time and money, while only the high-risk portions of very large, complex projects maygain benefit from prototyping. 10.Prototype may not have sufficient checks and balances incorporated.

17. 17. 2 - Prototyping Situations where most appropriate: 1. Project is for development of an online system requiring extensive user dialog, or for a less well-defined expert and decision support system. 2. Project is large with many users, interrelationships, and functions, where project risk relating to requirements definition needs to be reduced. 3. Project objectives are unclear. 4. Pressure exists for immediate implementation of something. 5. Functional requirements may change frequently and significantly. 6. User is not fully knowledgeable. 7. Team members are experienced (particularly if the prototype is not a throw-away). 7. Team composition is stable.

18. 18. 2 - Prototyping Situations where most appropriate: 9. Project manager is experienced. 10.No need exists to absolutely minimize resource consumption. 11.No strict requirement exists for approvals at designated milestones. 12.Analysts/users appreciate the business problems involved, before they begin the project. 13.Innovative, flexible designs that will accommodate future changes are not critical.

19. 19. 2 - Prototyping Situations where least appropriate: 1. Mainframe-based or transaction-oriented batch systems. 2. Web-enabled e-business systems. 3. Project team composition is unstable. 4. Future scalability of design is critical. 5. Project objectives are very clear; project risk regarding requirements definition is low.

20. 20. 3 - Incremental Framework Type: Combination Linear and Iterative Basic Principles: Various methods are acceptable for combining linear and iterative system development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process: 1. A series of mini-Waterfalls are performed, where all phases of the Waterfall development model are completed for a small part of the system, before proceeding to the next increment; OR 2. Overall requirements are defined before proceeding to evolutionary, mini- Waterfall development of individual increments of the system, OR

21. 21. 3 - Incremental 3. The initial software concept, requirements analysis, and design of architecture and system core are defined using the Waterfall approach, followed by iterative Prototyping, which culminates in installation of the final prototype (i.e., working system).

22. 22. 3 - Incremental Strengths : 1. Potential exists for exploiting knowledge gained in an early increment as later increments are developed. 2. Moderate control is maintained over the life of the project through the use of written documentation and the formal review and approval/signoff by the user and information technology management at designated major milestones. 3. Stakeholders can be given concrete evidence of project status throughout the life cycle. 4. Helps to mitigate integration and architectural risks earlier in the project.

23. 23. 3 - Incremental Strengths : 5. Allows delivery of a series of implementations that are gradually more complete and can go into production more quickly as incremental releases. 6. isolate issues and make adjustments before the organization is negatively impacted.

24. 24. 3 - Incremental Weakness: 1. When utilizing a series of mini-Waterfalls for a small part of the system before moving on to the next increment, there is usually a lack of overall consideration of the business problem and technical requirements for the overall system. 2. Since some modules will be completed much earlier than others, well- defined interfaces are required. 3. Difficult problems tend to be pushed to the future to demonstrate early success to management.

25. 25. 3 - Incremental Situations where most appropriate: 1. Large projects where requirements are not well understood or are changing due to external changes, changing expectations, budget changes or rapidly changing technology. 2. Web information systems (WIS) and event-driven systems. 3. Leading-edge applications.

26. 26. 3 - Incremental Situations where least appropriate: 1. Very small projects of very short duration. 2. Integration and architectural risks are very low. 3. Highly interactive applications where the data for the project already exists (completely or in part), and the project largely comprises analysis or reporting of the data.

27. 27. 4 - Spiral Framework Type: Combination Linear and Iterative Basic Principles: 1. Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle. 2. "Each cycle involves a progression through the same sequence of steps, for each portion of the product and for each of its levels of elaboration, from an overall concept-of-operation document down to the coding of each individual program." (Boehm, 1986)

28. 28. 4 - Spiral Basic Principles: 3. Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and constraints of the iteration; (2) evaluate alternatives; identify and resolve risks; (3) develop and verify deliverables from the iteration; and (4) plan the next iteration. (Boehm, 1986 and 1988) 4. Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and commitment. (Boehm, 2000)

29. 29. 4 - Spiral Strengths: 1. Enhances risk avoidance. 2. Useful in helping to select the best methodology to follow for development of a given software iteration, based on project risk. 3. Can incorporate Waterfall, Prototyping, and Incremental methodologies as special cases in the framework, and provide guidance as to which combination of these models best fits a given software iteration, based upon the type of project risk. For example, a project with low risk of not meeting user requirements, but high risk of missing budget or schedule targets would essentially follow a linear Waterfall approach for a given software iteration. Conversely, if the risk factors were reversed, the Spiral methodology could yield an iterative Prototyping approach.

30. 30. 4 - Spiral Weaknesses: 1. Challenging to determine the exact composition of development methodologies to use for each iteration around the Spiral. 2. Highly customized to each project, and thus is quite complex, limiting reusability. 3. A skilled and experienced project manager is required to determine how to apply it to any given project. 4. There are no established controls for moving from one cycle to another cycle. Without controls, each cycle may generate more work for the next cycle. 5. There are no firm deadlines. Cycles continue with no clear termination condition, so there is an inherent risk of not meeting budget or schedule.

31. 31. 4 - Spiral Weaknesses: 6. Possibility exists that project ends up implemented following a Waterfall framework.

32. 32. 4 - Spiral Situations where most appropriate: : 1. Real-time or safety-critical systems. 2. Risk avoidance is a high priority. 3. Minimizing resource consumption is not an absolute priority. 4. Project manager is highly skilled and experienced. 5. Requirement exists for strong approval and documentation control. 6. Project might benefit from a mix of other development methodologies. 7. A high degree of accuracy is essential. 8. Implementation has priority over functionality, which can be added in later version.

33. 33. 4 - Spiral Situations where least appropriate: : 1. Risk avoidance is a low priority. 2. A high degree of accuracy is not essential. 3. Functionality has priority over implementation. 4. Minimizing resource consumption is an absolute priority.

34. 34. 5 - Rapid Application Development Framework Type: Iterative Basic Principles: 1. Key objective is for fast development and delivery of a high quality system at a relatively low investment cost. 2. Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. 3. Aims to produce high quality systems quickly, primarily through the use of iterative Prototyping (at any stage of development), active user involvement, and computerized development tools. These tools may include Graphical User Interface (GUI) builders, Computer Aided Software Engineering (CASE) tools, Database Management Systems (DBMS), fourth-generation programming languages, code generators, and object-oriented techniques.

35. 35. 5 - Rapid Application Development Basic Principles: 3. Aims to produce high quality systems quickly, primarily through the use of iterative Prototyping (at any stage of development), active user involvement, and computerized development tools. These tools may include Graphical User Interface (GUI) builders, Computer Aided Software Engineering (CASE) tools, Database Management Systems (DBMS), fourth-generation programming languages, code generators, and object-oriented techniques. 4. Key emphasis is on fulfilling the business need, while technological or engineering excellence is of lesser importance.

36. 36. 5 - Rapid Application Development Basic Principles: 5. Project control involves prioritizing development and defining delivery deadlines or "time boxes". If the project starts to slip, emphasis is on reducing requirements to fit the time box, not in increasing the deadline. 6. Generally includes Joint Application Development (JAD), where users are intensely involved in system design, either through consensus building in structured workshops, or through electronically facilitated interaction. 7. Active user involvement is imperative. 8. Iteratively produces production software, as opposed to a throwaway prototype.

37. 37. 5 - Rapid Application Development Basic Principles: 9. Produces documentation necessary to facilitate future development and maintenance. 10.Standard systems analysis and design techniques can be fitted into this framework.

38. 38. 5 - Rapid Application Development Strengths: 1. The operational version of an application is available much earlier than with Waterfall, Incremental, or Spiral frameworks. 2. Because RAD produces systems more quickly and to a business focus, this approach tends to produce systems at a lower cost. 3. Engenders a greater level of commitment from stakeholders, both business and technical, than Waterfall, Incremental, or Spiral frameworks. Users are seen as gaining more of a sense of ownership of a system, while developers are seen as gaining more satisfaction from producing successful systems quickly. 4. Concentrates on essential system elements from user viewpoint. 5. Provides the ability to rapidly change system design as demanded by users.

39. 39. 5 - Rapid Application Development Strengths: 6. Produces a tighter fit between user requirements and system specifications. 7. Generally produces a dramatic savings in time, money, and human effort.

40. 40. 5 - Rapid Application Development Weaknesses: 1. More speed and lower cost may lead to lower overall system quality. 2. Danger of misalignment of developed system with the business due to missing information. 3. Project may end up with more requirements than needed (gold-plating). 4. Potential for feature creep where more and more features are added to the system course of dev over the development. 5. Potential for inconsistent designs within and across systems. 6. Potential for violation of programming standards related to inconsistent naming conventions and inconsistent documentation. 7. Difficulty with module reuse for future systems. 8. Potential for designed system to lack scalability.

41. 41. 5 - Rapid Application Development Weaknesses: 9. Potential for lack of attention to later system administration needs built into system. 10.High cost of commitment on the part of key user personnel. 11.Formal reviews and audits are more difficult to implement than for a complete system. 12.Tendency for difficult problems to be pushed to the future to demonstrate early success to management. 13.Since some modules will be completed much earlier than others, well- defined interfaces are required.

42. 42. 5 - Rapid Application Development Situations where most appropriate: 1. Project is of small-to-medium scale and of short duration (no more than 6 man-years of development effort). 2. Project scope is focused, such that the business objectives are well defined and narrow. 3. Application is highly interactive, has a clearly defined user group, and is not computationally complex. 4. Functionality of the system is clearly visible at the user interface. 5. Users possess detailed knowledge of the application area. 6. Senior management commitment exists to ensure end-user involvement. 7. Requirements of the system are unknown or uncertain.

43. 43. 5 - Rapid Application Development Situations where most appropriate: 8. It is not possible to define requirements accurately ahead of time because the situation is new or the system being employed is highly innovative. 9. Team members are skilled both socially and in terms of business. 10.Team composition is stable; continuity of core development team can be maintained. 11. Effective project control is definitely available. 12.Developers are skilled in the use of advanced tools. 13.Data for the project already exists (completely or in part), and the project largely comprises analysis or reporting of the data. 14.Technical architecture is clearly defined. 15.Key technical components are in place and tested.

44. 44. 5 - Rapid Application Development Situations where most appropriate: 16.Technical requirements (e.g., response times, throughput, database sizes, etc.) are reasonable and well within the capabilities of the technology being used. Targeted performance should be less than 70% of the published limits of the technology. 17.Development team is empowered to make design decisions on a day-to-day basis without the need for consultation with their superiors, and decisions can be made by a small number of people who are available and preferably co-located.

45. 45. 5 - Rapid Application Development Situations where least appropriate: 1. Very large, infrastructure projects; particularly large, distributed1. information systems such as corporate-wide databases. 2. Real-time or safety-critical systems. 3. Computationally complex systems, where complex and voluminous data must be analyzed, designed, and created without the scope of the project. 4. Project scope is broad and the business objectives are obscure. 5. Applications in which the functional requirements have to be fully specified before any programs are written. 6. Many people must be involved in the decisions on the project, a nd the decision makers are not available on a timely basis or they are geographically dispersed.

46. 46. 5 - Rapid Application Development Situations where least appropriate: 7. The project team is large or there are multiple teams whose work needs to be coordinated. 8. When user resource and/or commitment is lacking. 9. There is no project champion at the required level to make things happen. 10.Many new technologies are to be introduced within the scope of the project, or the technical architecture is unclear and much of the technology will be used for the first time within the project. 11.Technical requirements (e.g., response times, throughput, database sizes, etc.) are tight for the equipment that is to be used.

47. 47. References: 1. "System Development Methodologies for Web Enabled E-Business: A Customization Paradigm"; Linda Night, Theresa Steinbach, and Vince Kellen; November 2001; (http://www.kellen.net/SysDev.htm) 2. "A Survey of System Development Process Models"; Darryl Green and Ann DiCaterino; Center for Technology in Government; February 1998; (http://www.ctg.albany.edu/publications/reports/survey_of_sysdeev) 3. "Rapid Application Development: A Review and Case Study"; Paul Beynon- Davies; Kane Thompson Centre; December 1998; (http://www.comp.glam.ac.uk/SOC_Server/research/gisc/RADbrf1.htm)

48. 48. References: 4. "Introduction to Systems Analysis, Topic 19, Rapid Application Development"; J. R. McBride; Copyright 2002 Prentice-Hall, Inc.; (http://www.csc.uvic.ca/~jmcbride/c375t19.pdf) 5. "System Development Life Cycle Models and Methodologies"; Paul Fisher, James McDaniel, and Peter Hughes; Canadian Society for International Health Certificate Course in Health Information Systems, Module 3: System Analysis & Database Development, Part 3: Life Cycle Models and Methodologies; (http://famed.ufrgs.br/pdf/csih/mod3/Mod_3_3.htm)

# data[].attributes.attachment_link.description
System development methodologies 1. SYSTEM DEVELOPMENT METHODOLOGIES Kashif Khan 2. Introduction A system development methodology refers to the framework that is used to structure, plan, and control the process of developing an information system. A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses.

# data[].attributes.body
This week we completed the sequence diagram together.

The sequence diagram is also referenced to the use case description.

In the initial version, I found that the team members did not use dotted lines in the return messages, and no problems were found in other parts.

# data[].attributes.body
This week, I drew the activity diagram. First of all, I rechecked the use case description of the second point with my team members, because the activity diagram is based on the use case description. After drawing the graph, my team members and I discussed how to make the graph more complicated, such as adding fork/join.

We started this week with a collection of systems development methods, and picked the three that we had to write about for the next two weeks (Scrum, System development life cycle, Rapid application development)

# data[].attributes.body
This week, I modified the Use Case Diagram and Descriptions according to the feedback of assignment 1A. The main problem with the previous use case diagram is that some use cases do not belong to this system. The problem with the description is that the benefit to the company of this use case is not stated in the Goal in Context. At the same time, some of the steps of the use cases do not belong to the use cases of this system, so I choose a new use case.

I also discussed and revised the introduction with my team members, and we found that the introduction we had written earlier did not focus on why we should use the requirements specification report. In addition, after the modification, we found that we still need to add some methods we used to write this report.

# data[].attributes.body
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B
Assignment B

# data[].attributes.body
I wrote a lot of existing functional requirements, new functional requirements and non-functional requirements of the banking system, and I sent it to the next group member who needs drawing

# data[].attributes.body
I read the lecture slide about requirement gathering methods many times, learned a lot and then started my task

# data[].attributes.body
After we assigned the task, I did a lot of investigations about the requirement gathering method

# data[].attributes.body
after the tutorial I learned some functional requirement and non-functional requirement, there is form about using the functonal requirement and non-functional requirement.

# data[].attributes.body
we met our group online, and we decided which part should be done by ourselves and devided into average part by our group members.

# data[].attributes.body
use case description

# data[].attributes.body
In week four, I completed the use case description.
This requires me to describe in detail the specific behavior and interactions of the use case.
My team members and I discussed the use cases we selected and thought about the behaviors that could be adjusted and optimized in the cases.
At the same time, I also sorted out the whole work of our group and found that some aspects could be improved. For example, non-functional requirements could be improved by focusing on some small points, such as providing touch screen for special people.

# data[].attributes.body
This week I completed the Usecase Diagram, which is not very difficult. I just need to find out the participants of the banking system and their behaviors, and then think about what is necessary and what is optional in their behaviors. At the same time, I also checked the ERD diagram made by my partner this week. I found that he did not understand ERD well. For example, he did not use verbs in relationship, and some relationships were wrong.

I shared my findings with him and worked with him to improve the ERD.

# data[].attributes.body
This week we gathered our team members and assigned each task to a different team member.

This week I mainly collect information for the usecase diagram preparation

# data[].attributes.attachment_link.title
Use Case Diagram for Banking System | Editable UML Use Case Diagram Template on Creately

# data[].attributes.attachment_link.description
Use case diagram for opening bank account can be easily drawn using Craetely use case diagram maker.

# data[].attributes.body
During the fourth week, my team members and I checked our content to make sure that our content was correct.

# data[].attributes.body
In the third week, I started to write the second point and draw the relationship diagram. When I faced the second point at the beginning, I was at a loss and didn't know how to accomplish it. Later, by consulting the information, I gradually learned about the interest-related parties in the banking system. When I was drawing a picture, I didn’t know how to draw the picture right at the beginning. Later, by observing the relationship diagrams drawn by my classmates and the courseware in class, I could clearly draw the relationship diagram of the banking system.

# data[].attributes.body
In the second week, I inquired about the information and after considering all the factors of the banking system, I started to write the first point. In the process of writing, I also constantly make changes, and then improve my content by consulting different materials.