840 likes | 917 Views
Lecture 4 WEB Information System Development Methodolog y. Information Systems. Set of interacting components (people, procedures, technologies) that together collect, process, store and distribute information to support control, decision-making and management in organizations.
E N D
Information Systems Set of interacting components (people, procedures, technologies) that • together collect, process, store and distribute information • to support control, decision-making and management in organizations.
Information Systems Key components of Information Systems • Organizations • Human • Technologies
Developments in Information and Communication technologies Information Systems WEB-based IS Computer-based IS Paper-based IS
Why IS Development Methodologies • Average completion time for IS projects: 1.5 -5 years • 68% of projects overrun schedules • 65% exceed budgets • 75% face major redesign after initial implementation Solution lies in better and more professional approaches to development.
Why IS Development Methodologies • Amethodical approach to software development results in fewer defects and, therefore, ultimately provides shorter delivery times and better value. Remember: Goal => High quality High quality = project timeliness Less rework!
Some Terminologies • Software development methodology • Software development process • Software development model • Software life-cycle • Software process model
What is IS Development Methodology • A collection of procedures, techniques, tools and documentation aids which helps the system developers in their effort to implement a new information system. Software Engineering tools methods process model a “quality” focus
IS Development Methodologies A methodology consists of phases, themselves consisting of sub-phases, which • help developers plan, manage, control and evaluate IS projects, • guide developers in their choice of techniques at each stages of the projects.
Benefits of IS Development Methodologies • Subdivision of complex process into small tasks. • Facilitation of project management and control. • Providing a framework for applying techniques. • Skill specialization and division of labor • Standardization, improving productivity and quality.
The General Process Model • There are a lot of process models, and many companies adopt their own, but all have very similar patterns. The general, basic model is shown below:
Requirements • Business requirements are gathered in this phase. • Who is going to use the system? • How will they use the system? • What data should be input into the system? • What data should be output by the system? • This produces a nice big list of functionality that the system should provide, which describes functions the system should perform, business logic that processes data, what data is stored and used by the system, and how the user interface should work.
Design • The software system design is produced from the results of the requirements phase. • This is where the details on how the system will work is produced. • Architecture, including hardware and software, communication, software design are all part of the deliverables of a design phase.
Implementation • Code is produced from the deliverables of the design phase during implementation, and this is the longest phase of the software development life cycle. • For a developer, this is the main focus of the life cycle because this is where the code is produced. • Implementation my overlap with both the design and testing phases. • Many tools exists (CASE tools) to actually automate the production of code using information gathered and produced during the design phase.
Testing • During testing, the implementation is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. • Unit tests and system/acceptance tests are done during this phase. • Unit tests act on a specific component of the system, while system tests act on the system as a whole
Life-Cycle of a Software Feasibility Requirements Design Coding Testing Operations Maintenance
Umbrella Activities • Software project management • Software quality assurance • Software configuration management • Reusability management • Risk management
IS Process Models • Waterfall model • Evolutionary model • Iterative/incremental model • Spiral model • V-model • Prototyping • Agile software development • Clean room Software Engineering • Component Assembly Model • Rational Unified Process
Waterfall model Waterfall • Systematic stepwise refinement of a complex problem into smaller and smaller problems.
Waterfall model • Requirements analysis and definition • System and software design • Implementation and unit testing • Integration and system testing • Operation and maintenance
Waterfall model • The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be completed before moving onto the next phase.
Waterfall model problems • Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. • Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. • Few business systems have stable requirements.
Evolutionary development Evolutionary • System is developed using a prototype and refined through user feedbacks. • Changes is seen as the norm of the model.
Evolutionary development Quick plan requirements Modeling Quick design Deployment delivery & feedback Construction of prototype
Evolutionary development • Exploratory development • Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer. • Throw-away prototyping • Objective is to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed.
Evolutionary development • Problems • Lack of process visibility; • Systems are often poorly structured; • Special skills may be required. • Applicability • For small or medium-size interactive systems; • For parts of large systems (e.g. the user interface); • For short-lifetime systems.
Iterative Development Iterative / incremental • System is developed in chunks of functionality. • The overall system is developed incrementally.
Iterative Development Advantages • Generates working software quickly and early during the software life cycle. • More flexible – less costly to change scope and requirements. • Easier to test and debug during a smaller iteration. • Easier to manage risk because risky pieces are identified and handled during its iteration. • Each iteration is an easily managed milestone. Disadvantages • Each phase of an iteration is rigid and do not overlap each other. • Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.
Developments in Information Systems: • Information systems are entering a new phase, moving beyond the traditional automation of routine organizational processes and towards the existing of critical tactical and strategic enterprise processes. • Development of such systems needs to concentrate on organizational aspects , delivering systems that are closer to the culture of organizations and the wishes of individuals.
Where are we with web application design methods? • It’s a relatively new area, most significant work only emerged from 1993 onwards • Very much in the infancy stages • No one solid method has emerged • Few approaches have been severely tested • We have most methods and technique components we need in existence for a web method, in almost all cases though they have just not been integrated • So, currently we need to work around the issue by forming ‘hybrid’ methods that share and borrow techniques
Web Methodology Disciplines Software Engineering Hypertext Multimedia Web Engineering Human-Computer Interaction Information Engineering Testing Requirements Engineering Project Management Modelling and Simulation System Analysis and Design
Special features of Web Projects • Network intensiveness • Concurrency • Unpredictable load • Performance. • Availability • Data driven. • Content sensitive. • Continuous evolution • Immediacy • Security • Aesthetics
Alternatives for WEB IS acquisition • In-house development • Outsourcing • Development of IS • Application service providers
A strategy to Web IS development • Introduce WISDM to • offer a methodology for the socio-technical view; • illustrate a socio-technical framework. • Use the RUP as powerful generic framework that can be flexibly taylored and extended by special techniques to suit the particular project. • Introduce various techniques to complement RUP activities in order to better address the specific features of Web-IS such as • User-orientation, broad view on requirements, specific architectural patterns, graphic design, navigation, etc.
The Multiview Approach and WISDM • Multiview‘s fundamental assumption: An IS methodology that relies overmuch on an engineering approach and technical rationality is, by itself, an insufficient foundation for IS development. • Foundations of Multiview: Needs of computer artefacts, organizations and individuals need to be considered jointly! • Major concern of Multivies: Negotiation between technological, organizational, and human aspects of IS development.
WISDM CHANGE AGENTS • Multiple perspectives: • Technical (T) • Organizational (O) • Personal (P) Would-be developers of an information system IS DEVELOPMENT METHODS WISDM - Web IS Development Methodology (emergent) History SITUATION
ANALYSIS SOCIO Organizational Analysis Value creation (human activity systems) Information Analysis Requirements specification TECHNICAL WorkDesign User satisfaction HCI User interface TechnicalDesign Software model DESIGN WISDM as emerging methodology from the Multiview framework Humans Organisation Technology Situation Developers
WISDM Methods matrix and role of the analyst • There is no a priori ordering of the five apects of the WISDM matrix • Essential aspect: Analyst works on the joint basis of the three (T, O, P) perspectives.
Organizational Analysis ANALYSIS SOCIO Organizational Analysis Value creation (human activity systems) Information Analysis Requirements specification TECHNICAL WorkDesign User satisfaction HCI User interface TechnicalDesign Software model DESIGN
Organizational Analysis • Business (strategy) • What business is the Organization in? • What are the products and services? • Products and services • What are the sources of revenue? • What are the benefits to the business actors? • Who are the customers? • Who are the competitors? • Marketing strategy (How to compete) • What is the organization’s marketing strategy?
ANALYSIS SOCIO Organizational Analysis Value creation (human activity systems) Information Analysis Requirements specification TECHNICAL WorkDesign User satisfaction HCI User interface TechnicalDesign Software model DESIGN Work design
Sociotechnical design • Foundation: Genuine participation:involves users, managers, developers, and others who influence each other‘s plans policies and decisions, thus affecting future outcomes. • Measure user satisfaction and quality.
Quality workshop, WebQual (Vidgen, Tab. 7-4)
Technical Development ANALYSIS SOCIO Organizational Analysis Value creation (human activity systems) Information Analysis Requirements specification TECHNICAL WorkDesign User satisfaction HCI User interface TechnicalDesign Software model DESIGN