Intelligent Techniques & System Development Methodologies
Business Benefits of Intelligent Techniques for Knowledge Management
Artificial intelligence lacks the flexibility, breadth, and generality of human intelligence, but it can be used to capture, codify, and extend organizational knowledge. Expert systems capture tacit knowledge from a limited domain of human expertise and express that knowledge in the form of rules. Expert systems are most useful for problems of classification or diagnosis. Case-based reasoning represents organizational knowledge as a database of cases that can be continually expanded and refined.
Fuzzy logic is a software technology for expressing knowledge in the form of rules that use approximate or subjective values. Fuzzy logic has been used for controlling physical devices and is starting to be used for limited decision-making applications. Machine learning refers to the ability of computer programs to automatically learn and improve with experience. Neural networks are notable for their ability to learn without programming and to recognize patterns that cannot be easily described by humans.
Principal Methodologies for Modeling and Designing Systems
The two principal methodologies for modeling and designing information systems are structured methodologies and object-oriented development. Structured methodologies focus on modeling processes and data separately. The data flow diagram is the principal tool for structured analysis, and the structure chart is the principal tool for representing structured software design. Object-oriented development models a system as a collection of objects that combine processes and data. Object-oriented modeling is based on the concepts of class and inheritance.
Core Activities in the Systems Development Process
The core activities in systems development are systems analysis, systems design, programming, testing, conversion, production, and maintenance. Systems analysis is the study and analysis of problems of existing systems and the identification of requirements for their solutions. Systems design provides the specification for an information system solution, showing how its technical and organizational components fit together.
New Approaches for System Building in the Digital Firm Era
Companies are turning to rapid application design (RAD), joint application design (JAD), agile development, and reusable software components to accelerate the systems development process. RAD uses object-oriented software, visual programming, prototyping, and fourth-generation tools for very rapid creation of systems. Agile development breaks a large project into a series of small subprojects that are completed in short periods of time using iteration and continuous feedback. Component-based development expedites application development by grouping objects into suites of software components that can be combined to create large-scale business applications. Web services provide a common set of standard plug-and-play architecture. Mobile application development must pay attention to simplicity, usability, and the need to optimize tasks for tiny screens.