Information systems development Flashcards
What is IS development?
- Refers to the process of planning, creating, testing, and deploying an information system
- idea → analysis → design and implementation → completed information system
Reasons for Project Initiation
- current system cannot cope
- cost savings
- provision of better internal information for decision making
- provision of better customer service
- opportunities provided by new technology
- high-technology image
- change in legislation
- balancing the portfolio of projects
Build software
- customised
- developed in-house
- developed by outside vendor
- full control can be beneficial if software is strategically important
Buy software
- prepackaged software
- select software vendor
- customisation may be offered by software vendor for a price
Costs to consider when making
- Initial cost of building a system
- Cost of enhancing the system with new features
- Cost of repairing defects and bugs
- Cost of customer support
- Cost of refactoring
- Removal of error-prone modules
Costs to consider when buying
- Cost to purchase software
- Cost to customize software
- Licenses for named or concurrent users
- Cost of infrastructure that software will run on: servers, network connections, network upgrades to support higher loads or number of transactions
- Staffing: training, maintenance, support, administration, incidental personnel
When does “Making” make sense?
- Making software may be associated with risks
- Carefully considering potential costs is essential
- Strategic software is custom software
- In-house development is even more critical if you wish to retain your firm’s advantage
factors of making
+ higher customisability (important for e.g. displaying code properly)
+ possibility of re-sell
+ higher chance of familiarity with product
+ easier to integrate with rest of internal systems
+ full control and strategic advantage
+ no dependency on external vendors
+ can be interconnected to other systems
- security concerns
- high risks for defining requirements and the cost
- the need for full-support and maintenance
- the need to keep up-to-date technology
factors of buying
+ easier to maintain
+ faster to get to the actual usage
+ scalability, better performance?
+ product can be tried
+ possible to choose among vendors
+ customisation can be possible
+ possible to extend/connect to existing systems
- dependency on another business
- cost is clear, but many require high initial investment
- responsibilities can be transferred to the vendor
- license limitations
Systems Development Process
- initiation → start up phase
- analysis → define requirements
- design → specify system configuration
- development → programming and configuring the system
- installing and testing the system
- monitoring and revising the system
the waterfall model
- initiation
- analysis
- design
- development
- implementation
- maintenance
- changes to requirements or errors in the system require each stage to be revised
- project proceeds to the next stage once the current stage is complete
Prototyping
- Prototyping is a common approach to developing information systems which is used to counter the problems of the waterfall model
- The essence of prototyping is that it is:
- Rapid
- Simple
- Iterative
- Incremental
- User-centred
- Once the first prototype has been produced there are several alternatives:
- Iterate and produce further refinements, which often occurs throughout the specification stage
- Develop module prototypes
- Throw away the prototype and develop a more robust version of the software for the production version
- Repeated iterations of the analysis, design, develop, test and review stages occur during prototyping
- So, the approach to prototyping should be considered
carefully
three different types of prototyping
- Throwaway or low-fidelity prototyping
- Evolutionary prototyping or high-fidelity prototyping
System analysis
- Goal is to build a logical model of the system
- Question: What must be done in order to satisfy the objectives and functions of the system under investigation?
2 main parts of systems anakysis
- Data analysis: Which data has to be stored
- Process analysis: Aims at showing the activity flow of the system, e.g. interactions with the system
Participants in Analysis and Design
- business side: user/domain expert/ client
- mediator: business analyst
- IT side: developer/programmer
challenges in systems analysis
Challenge 1: Fragmented process knowledge
Challenge 2: Domain experts think on instance level
Challenge 3: knowledge about process modelling is rare
Key aspects of System analysis
- Focus Groups
- Documentation
- Surveys
- Observation
- Interviews
- Prototyping
- Producing the requirements specification
Focus Groups
- Focus groups or brainstorming are useful at an initial stage
- Helps to identify major organizational and process
- Helps in identifying the issues which the project should address, and these can then be followed up in more detail with the other requirements-gathering techniques
Documentation
- A range of documentation may be available from existing systems
- This may include
- previous requirements specifications
- user guides
- procedure manuals or
- help systems
- Pre-existing good-quality documentation may make
documenting the requirements of the new easier
Surveys
- Questionnaires are sent to potential users of the system and users of the existing system
- These also provide a structured method of requirements gathering
- It is possible to determine key features by asking respondents closed questions such as selecting from a list or asking more general open questions such as ‘What are the three best and worst features of the current system?’
- Surveys work best if performed before interviews
Observation
- Assessing how users of the current system work when completing different activities
- It is an essential technique for identifying inefficiencies in a
system - It is less clear at which point observation should occur in the sequence of requirements determination activities
- It will often occur in parallel with other activities
Interviews
- Interviews are a more structured form of collecting requirements than focus groups
- They give an individual time to reflect on their needs and describe problems with the existing system
- Detailed requirements are collected so it makes sense if these happen towards the end of requirements gathering
- Some interviews with managers may be useful at an earlier stage in requirements determination
- Interviews work best if they are semi-structured, with a prepared script of questions which must be answered but flexibility for other concerns to be described
Prototyping
Prototyping of new systems through paper or on-screen prototypes will in itself elicit requirements
Producing the requirements specification
- The requirements specification will detail how the system should support its users and business processes
- It will include:
- Business requirements – what are the required business outcomes of developing the new system?
- Summary of system users and their general requirements
- Process support requirements – which work activities will the system support?
- Data output requirements – what information will be available to users and managers of the system?
- Data input requirements – what information will be captured for the system, what will its source be (other systems and manual data entry)?
- Data visualization requirements – how will data be entered and viewed by users?