Chapter 9

Ace your homework & exams now with Quizwiz!

##Business requirements

##

Prototyping

Modern design approach where the designers and system users use an iterative approach to building the system

##Legacy systems

##

The seven phases of the SDLC

(planning, analysis, design, development, testing, implementation, maintenance)

The three technical concepts of SOA

- Service - Loose Coupling - Interoperability (Service, Loose Coupling, Interoperability)

Waterfall methodology

A sequence of phases in which the output of each phase becomes the input for the next

Tangible benefits

Easy to qualify and typically measured determine the success or failure of a project

*Agile vs. Waterfall and the historical context

Methodology is a set of policies, procedures, standards, processes, practices, tools, techniques, and tasks that people apply to technical and management policies. The two methodologies we discussed are Agile Methodology and Waterfall Methodology. Waterfall methodology is a sequence of phases in which the output of each phase becomes the input for the next. Agile methodology aims for customer satisfaction through early and continuous discovery of useful software components developed by an iterative process using the bare minimum requirements. Waterfall is the oldest and best known. It no longer serves most of today's development methods, however; it is inflexible and expensive, and it requires rigid adherence to the sequence of steps. Its success rate is only about 1 in 10. Agile is much more useful through prototyping. The advantages of prototyping are: prototyping encourages user participation, prototypes evolve through iteration, which better supports change, prototypes have a physical quality allowing users to see, touch, and experience the system as it is developed, prototypes tend to detect errors earlier, and prototyping accelerates the phases of the SDLC, helping to ensures success. (You should understand why the SDLC was originally implemented as a waterfall method and how Agile seeks to improve on waterfall. You should understand the concept of iterative development, and how advances in technology have made it more practical (e.g., effective prototyping).)

*The benefits and challenges of outsourcing

Outsourcing is an arrangement by which one organization provides a service or services for another organization that chooses not to perform them in-house. There are three types of outsourcing: Onshore, Nearshore, and Offshore. Onshore is engaging another company within the same country for services. Nearshore is contracting an outsourcing agreement with a company in a nearby country. Offshore is using organizations from developing countries to write code and develop systems. The benefits to outsourcing include increased quality and efficiency of business products, reduced operating expenses for head count and exposure to risk for large capital investments, access to outsourcing service provider's expertise, economies of scale, best practices, and advanced technologies, and finally increased flexibility for faster response to market changes and less time to market for new products or services. The challenges include length of contract (breaking contract, forecasting future needs, recreating internal MIS department if outsourcing fails), threat to competitive advantage, and loss of confidentiality. (You should understand what outsourcing is, and be able to recognize the benefits and challenges.)

*Why project management, the SDLC and other development methodologies are needed

Planning Analysis Design Development Testing Implementation Maintenance. Systems development life cycle (SDLC) is the overall process for developing information systems, from planning and analysis through implementation and maintenance. The seven phases of SDLC are Planning, Analysis, Design, Development, Testing, Implementation, and Maintenance. In Planning, you brainstorm issues and identify opportunities for the organization, prioritize and choose projects for development, set the project scope, and develop the project plan. In Analysis, you gather the business requirement for the system, and define any constraints associated with the system. In Design, you design the technical architecture required to support the system, and design the system models. In development, you build the technical architecture, build the database, and build the application. In Testing, you write the test conditions, and perform system testing. In implementation, you write detailed user documentation, and provide training for the system users. In Maintenance, you build a help desk to support the system users, and provide an environment to support system changes. (You should understand the challenges and risks inherent in system development projects. You should be able to discuss the causes of these failures (refer to pp. 267-267). You need not know all the details of each phase of the SDLC, but should know, in broad strokes, what goes in in each phase.)

*The need for project management

Project management is crucial for software development processes and methodologies. Project management is important to balancing the triple constraint of Time, Resources, and Scope. You can't have too much of one constraint, or the other two suffer. Project management helps make sure all requirements of a project are complete, and works well with complex and lengthy processes such as that of software development processes and methodologies. (You should understand the need for project management and its relationship to software development processes and methodologies. You should be able to describe the triple constraint and its implications.)

*The importance of understanding requirements

Requirements determination and management is critical to any system development project. To handle requirements in the SDLC, organizations use requirements management, which is the process of managing changes to the business requirements throughout the project. They create a Requirements Definition Document, which prioritizes all the business requirements by order of importance to the company. The users have to sign-off on this, which is the actual signature of the users, indicating they approve all of the business requirements. (You should know that requirements determination and management is critical to any system development project. You should be able to describe how requirements are handled in the SDLC and in agile methods, and understand that changing and unclear requirements are unavoidable and must be dealt with.)

*The nature and goals of Service-Oriented Architecture (SOA)

Service-Oriented Architecture (SOA) is a business-driven enterprise architecture that supports integrating a business as linked, repeatable activities, tasks, or services. SOA works with services that are not just software or hardware but, rather, business tasks. It is a pattern for developing a more flexible kind of software application that can promote loose coupling among software components while reusing existing investments in technology in new, more valuable ways across the organization. SOA helps companies become more agile by aligning business needs and the IT capabilities that support these needs. Business drives requirements for IT; SOA enables the IT environment to respond to these requirements and efficiently. SOA is about helping companies apply reusability and flexibility that can lower cost (of development, integration, and maintenance), increase revenue, and obtain sustainable competitive advantage through technology. Loose coupling is a huge advantage in SOA, allowing for the capability of services to be joined together on demand to create composite services, or disassembled just as easily into their function component. You should understand the concept of a service and how it can embody a business process. You should recognize the advantages of the loose coupling of encapsulated services in a service oriented architecture.

Agile methodologies

aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirements

The three types of outsourcing (onshore, nearshore, offshore)

arrangement by which one organization provides a service or services for another organizations that chooses not to perform them in house

Intangible benefits

difficult to quantify or measure

Intangible benefits Feasibility

difficult to quantify or measure


Related study sets

Immunity, Infection, & Inflammation PP1 EAQs

View Set

Intermediate 2 Computing Exam S3

View Set

NICE DUDE BASSETT SEMESTER 2 EXAM QUOTES? YOU MUST BE SMART AS HELL DUDE!

View Set

Ch 36 PrepU: Mgmt of Patients with Immune Deficiency Disorders

View Set

Cross-Cultural Psychology Midterm

View Set

Business, Ethics, and the Creation of Value #2

View Set

Chapter 32 Environmental Emergencies

View Set