Академический Документы
Профессиональный Документы
Культура Документы
Software Engineering
Project Management Practices
System
All systems can be divided into : Natural Systems (Solar, Neurological, Virological) and Man-
made (Procedural, Physical, Conceptual)
• A PROCEDURAL system is a coordinated set of consistent principles, rules and procedures
to be followed to resolve some problem or perform some task e.g., gambling,
mathematical and logical systems.
• Man-made PHYSICAL systems are coordinated and connected assemblies, organized
collections of physical elements intended and designed to serve a common purpose e.g.,
the braking system of an automobile, the electrical or lighting system etc. Social systems
are organized and coordinated groups of people working together to serve mutual
interests or achieve a common purpose.
• A CONCEPTUAL system is a consistent theory or coordinated body of facts, principles and
hypothesis by which some aspect of reality may be ordered, explained or understood.
Organizations are organized system of men, machines, materials and energies or resources.
A study of these systems may be done by studying their structure, content, communication
and control.
What exactly is a System?
• A system is a composite entity made up of inter-related or inter-dependent
functional units
• Every system has a goal or objective
• A system works within a boundary
• A system acts under a common control which coordinates the activities of the
different functional units
• Any malfunction of any one system component affects the function of the entire
system
• A system is synergetic, which means the effect of the sum of the functional units
is greater than the sum of the effects of the individual functional units
• Every man-made system has got a lifetime
• System Concepts : Boundary and Environment, Subsystem, interface, Black box,
Feedback Control
System - Definitions
• A system is a composite entity made up of inter-related or inter-dependent
functional units which act in coordination under a common control for
achieving a common objective.
• A set of procedures that constitute activities that are logically grouped
together to form one unique function within an organization.
• A set of interacting elements responding to inputs to produce outputs.
• Business Systems : interaction with environment, purpose, self-regulation,
self-correction
• Systems Concept/Approach : A system is a set of components that interact
to accomplish some purpose
• Systems Analysis is the process of studying the network of interactions
within an organization and assisting in the development of new and
improved methods for performing necessary work
Characteristics of a System
The information provided by the system should be consistent, accurate, timely, economically feasible and relevant
• Establishes standards so you can write procedures on how to do the job
• Specifies each area’s responsibility to introduce accountability for managers for the work they manage
• Delineates actions and decisions so that logical systems can be designed with the proper physical system hardware,
software, forms and/or manual interfaces
• Easily understandable so the people who utilize it on a day-to-day basis can perform their work effectively and efficiently
• Provides evaluation criteria with which to judge its performance
• Identifies the decision points so the proper decision can be made in the work flow progress
System Types :
1. 1. Open and Closed: If it is at all depending on a particular environment, it is an open system and if it functions
independent of the environment, it is a closed system
2. Origin : Natural and Man-made
3. Complexity: Simple and Intricate
4. Outcome: Predictable and Unpredictable
5. Basic Nature: Physical (e.g., Car) and conceptual (Business Organization, School)
Role of a Systems Analyst
• Defining IT requirements of the organization
• Setting priorities among requirements
• Gathering data or facts
• Analyzing and Evaluation
• Problem solving
• Drawing Specifications
• Designing System
• Evaluating System
• Systems Analyst are called: Catalysts, Problem solvers, Detectives, Change
Agents, Architects, Technicians, Imposers, Educators
System Analysis vs. System Design
System Analysis System Design
SA is the examination of the problem SD is the creation of the information system which is
the solution to the problem
It is concerned with identifying all the constraints and It is concerned with the coordination of the activities,
influences job procedures and equipment utilization in order to
achieve system goals
It deals with data collection and a detailed evaluation It deals with general design specification, detailed
of present system design specifications, output, input files and
procedures. It also deals with program construction,
testing and user acceptance
It portrays logical model of the system through Data It provides technical specifications and reports with
Flow Diagrams and Data Dictionaries which the problem can be tackled
System Development Life Cycle
All systems, whether manual or IT based, should be adaptable to change. Systems development is
an ongoing process reflected in the systems development life cycle : Systems Request-System
Selection-Feasibility Study- Acceptance by Management- Data Gathering-Data Analysis- System
Specification- Detailed System Design- Program Writing- Testing & Conversion- System Operation-
Problem Detection- Systems Request
Designing the New System : Systems Analysis is the analysis and selection of the best possible
alternative. System Design is primarily an activity for planning for management i.e., to set
objectives, coordinate activities and monitor performance. The objective of the System Designer is
to make improvements to make the world a better place. It aims to eliminate Inefficiency, Waste,
Ineffective Procedures
Data Gathering : Systems Analyst gathers both facts and opinions pertaining to the problem under
study from every source in the organization interviewing concerned personnel, studying company
reports and memoranda etc. The quality of this data will affect the optimal solution.
Gathering Opinions: Manager’s opinion should be recorded on the overall implication of the system
and at the operating level, the operating staff should be approached for system details.
Other Sources
• Company’s Formal Records: accounting, statistical reports, organization chart, minutes of company meetings
• Existing System Documentation containing written procedures, flowcharts, Programming documentation and
various files
• Publications of Government, computer manufacturers, professional organizations or system professionals
• Opinions from friends, associates in the system field, seminar/convention proceedings and informal
conversation with businessmen
System Requirements Analysis : The Need
Management’s expectation, Analysis of current operations and procedures – Guideline – for the future system
– with a view to find out the deficiencies, malfunctions, inadequacies, expensive, ineffective or unprotected
and uncontrolled operations of the existing system
Evaluate the cost savings and other advantages
The Tools : 6 Kiplings – Why? What? When? How? Where? Who?
Methodology – Facts Gathering, Classify Information, Block Diagram of Procedures, Documenting Information
Obtained, Establishing Organization Chart and Cost Tables, Identify Exception Situations, Establishing Control.
Facts Gathering Techniques, System Investigation
File, Data Analysis & System Specification
• Interviews, Observations, Sampling, Questionnaires, Meetings and Research
• Work Flow Diagrams, Documents Flow Diagram, Information Flow Diagrams Documents
– SA- Kept in a SIF – notes and records
• Summarize the data gathered and displays graphically to facilitate analysis, Prepares
flowcharts of current system, The SA should question every function, documents
produced and procedures followed to device new and better methods and systems
without loosing any of the advantages of the current system. This may lead to improved
ways of doing certain functions and the elimination of unnecessary steps. Study the
system with thoughtful, time consuming analysis to design fairly permanent systems.
Based on Feasibility study + Analysis – System Specification is prepared for the user for
the new proposed system and submitted to the user and management for their
information and approval.
• SA&D is concerned with providing reliability, ease of maintenance, correctness, on-time
delivery, cost effectiveness and efficient use of resources in Information systems.
SDLC
• is about developing a software-driven solution to a business problem
• Concerns a process which takes from 2 months to 2 years
• Really be called a (Business) solution development life cycle
Software Engineering is the establishment and use of sound engineering principles in order to obtain economic
software that is reliable and work efficiently on real machines.
The application of a systematic, disciplined, quantifiable approach to the development, operation and
maintenance of software, that is, the application of engineering to software
A layered technology
tools methods process model a “quality” focus
A Process Framework
Framework Activities Work Tasks Work Products Milestones &
Deliverables
QA Checkpoints Umbrella Activities
Framework Activities
• Communication
• Planning
• Modeling – Analysis of Requirements, Design
• Construction – Code generation, Testing
• Deployment
Umbrella Activities
• Software Project Management
• Formal Technical Reviews
• Software QA
• Software Configuration Management
• Work Product Preparation and Production
• Reusability Management
• Measurement
• Risk Management
The Essence of Practice
• Understand the problem (Communication and Analysis)
• Plan a Solution (Modeling and Software Design)
• Carry out the Plan (Code generation)
• Examine the result for accuracy (Testing and QA)
David Hooker’s General Principles
• The reason it all exists
• KISS (keep it simple, stupid!)
• Maintain the vision
• What you produce, Others will consume
• Be open to the future
• Plan ahead for reuse
• Think!
Business Solution Characteristics
A software - driven solution consists of 2 parts:
• Model – Prototypes, Diagrams and Supporting Documents
• System – Hardware, Software
A Generic Process Model
Software Process – Process Framework, Umbrella activities
The Waterfall model
V-model
The Incremental model
Evolutionary models – Prototyping, The Spiral model, Concurrent
CMM – The CMM for software is used by organization to guide their software process
improvement efforts
1. Initial 2. Repeatable 3. Defined 4. Managed 5. Optimising
Agile Software Development
What is Agility?
• Effective (rapid and adaptive) response to change
• Effective communication among all stakeholders
• Drawing the customer onto the team
• Organizing the team so that it is in control of the work performed
Yielding…..
• Rapid, Incremental delivery of software
An Agile Process
• Is driven by customer descriptions of what is required (scenarios)
• Recognizes that plans are short-lived
• Develops software iteratively with a heavy emphasis on construction activities
• Delivers multiple ‘software increments’
• Adapts as changes occur
The 12 Agile Manifesto Principles
• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
• Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter time scale
• Business people and Developers must work together daily throughout the project
• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
• Working software is the primary measure of progress
• Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain constant pace
indefinitely
• Continuous attention to technical excellence and good design enhances agility
• Simplicity – the art of maximizing the amount of work not done – is essential
• The best architectures, requirements and designs emerge from self-organizing teams
• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
The intent of agile is to align development with business needs, and the
success of agile is apparent.
Agile projects are customer focused and encourage customer guidance
and participation. As a result, Agile has grown to be an overarching
view of software development throughout the software industry and
an industry all by itself.