Podcast
Questions and Answers
Which of the following best describes the primary goal of a Software Project?
Which of the following best describes the primary goal of a Software Project?
- To write as much code as possible within a given timeframe.
- To create software regardless of user needs.
- To deliver a well-defined task by achieving a set of operations to meet a specific goal. (correct)
- To use the latest technology, even if it's not suited for the project.
Which of the following activities is the focus of system analysis in SDLC?
Which of the following activities is the focus of system analysis in SDLC?
- Dissecting a system into its component pieces to study how they interact. (correct)
- Installing hardware components.
- Training users on how to use the new system.
- Writing code for system modules.
What role does documentation play in the Software Development Life Cycle (SDLC)?
What role does documentation play in the Software Development Life Cycle (SDLC)?
- It is only needed for large projects, not small ones.
- It is created at the beginning of the project and never needs to be updated.
- It supports future upgrades and maintenance by providing a historical record and reference. (correct)
- It is mainly used by end-users to troubleshoot issues they encounter.
Which of the following is a primary objective of the 'Software Validation' activity in the software development process?
Which of the following is a primary objective of the 'Software Validation' activity in the software development process?
Which of the given options is the MOST accurate definition of an 'information system'?
Which of the given options is the MOST accurate definition of an 'information system'?
A company is deciding whether to develop a new accounting system. Which aspect would 'Economic Feasibility' primarily assess?
A company is deciding whether to develop a new accounting system. Which aspect would 'Economic Feasibility' primarily assess?
During which SDLC phase is the determination of system requirements typically performed?
During which SDLC phase is the determination of system requirements typically performed?
What is the focus of the 'System Design' phase within the Software Development Life Cycle (SDLC)?
What is the focus of the 'System Design' phase within the Software Development Life Cycle (SDLC)?
What is the purpose of performing a feasibility study before designing a system?
What is the purpose of performing a feasibility study before designing a system?
What is the main difference between a system flowchart and a program flowchart?
What is the main difference between a system flowchart and a program flowchart?
Considering the role of a system analyst, what is the significance of interpersonal communication skills?
Considering the role of a system analyst, what is the significance of interpersonal communication skills?
In system design, what is the difference between logical and physical design?
In system design, what is the difference between logical and physical design?
What is the main goal of 'System Testing' in the SDLC process?
What is the main goal of 'System Testing' in the SDLC process?
A company is switching to a new Customer Relationship Management (CRM) system. They decide to run both the old and new systems simultaneously for a while. Which type of implementation is this?
A company is switching to a new Customer Relationship Management (CRM) system. They decide to run both the old and new systems simultaneously for a while. Which type of implementation is this?
What is the purpose of 'Corrective Maintenance' in software maintenance?
What is the purpose of 'Corrective Maintenance' in software maintenance?
What is the PRIMARY emphasis of the Agile model in software development?
What is the PRIMARY emphasis of the Agile model in software development?
Which benefit is directly provided by 'External Documentation'?
Which benefit is directly provided by 'External Documentation'?
Which of the following best describes 'technical feasibility' in a feasibility study?
Which of the following best describes 'technical feasibility' in a feasibility study?
Within the context of Software Development Models, what is a key characteristic of the Waterfall model?
Within the context of Software Development Models, what is a key characteristic of the Waterfall model?
Which of the following activities is characteristic of requirement collection?
Which of the following activities is characteristic of requirement collection?
Flashcards
Program
Program
A sequence of instructions to perform a task.
Instruction
Instruction
A command given to the computer to perform a specific operation.
Software
Software
A set of programs written for a computer to perform a specific task. It acts as an interface between the computer and the user.
Software Evolution
Software Evolution
Signup and view all the flashcards
System
System
Signup and view all the flashcards
Development
Development
Signup and view all the flashcards
Information System
Information System
Signup and view all the flashcards
SDLC (Software/System Development Life Cycle)
SDLC (Software/System Development Life Cycle)
Signup and view all the flashcards
Importance of SDLC
Importance of SDLC
Signup and view all the flashcards
Feasibility Study
Feasibility Study
Signup and view all the flashcards
Economic Feasibility
Economic Feasibility
Signup and view all the flashcards
Technical Feasibility
Technical Feasibility
Signup and view all the flashcards
Operational Feasibility
Operational Feasibility
Signup and view all the flashcards
System Design
System Design
Signup and view all the flashcards
Logical Design
Logical Design
Signup and view all the flashcards
Physical Design
Physical Design
Signup and view all the flashcards
Flowchart
Flowchart
Signup and view all the flashcards
DFD (Data flow diagram)
DFD (Data flow diagram)
Signup and view all the flashcards
ER (Entity Relationship) diagram
ER (Entity Relationship) diagram
Signup and view all the flashcards
Waterfall Model
Waterfall Model
Signup and view all the flashcards
Study Notes
Software Project Concepts
- A program is a sequence or set of instructions.
- An instruction is a command for a computer to perform a specified operation on data.
- Software is a set of programs that performs a specific task.
- Software is the interface between a computer and its user.
- A software project is the process of software development from identifying requirements to testing and maintenance, following specific methods within a set timeframe and budget to reach a intended product.
Software Development Process
- Software development defines tasks of building new software.
- Development activities are grouped into phases.
- A phase can only begin once the previous phase is complete.
- At the end of each phase, a report is made describing what was done and shows the plan for the next phase.
- The fundamental activities are: Software Specification, Software design and implementation, Software validation, Software evolution
System Development Life Cycle (SDLC)
- A system has interacting components forming an integrated whole, objects joined for a common goal.
- Development is a step-by-step changing programs or systems.
- An information system is a system processing supplied/collected data, generates information for decision making.
- SDLC is a structured process to develop a software/system, or, methodology to develop, maintain, and replace software/information systems.
- SDLC helps establish software or a project and gives an overall list of processes needed.
- SDLC activities follow a prescribed order and develops the software in chronological order.
- SDLC is also known as Application Development Life Cycle, it describes planning, creating, testing, and deploying an information system.
- SDLC helps determine user needs.
- SDLC supports constant communication between developer and user.
- SDLC facilitates easy finding of missing requirements.
- SDLC ensures software meets user needs.
- SDLC supports proper analysis and design.
- SDLC ensures proper development and testing.
- SDLC gives proper documentation for upgrades and maintenance.
- SDLC provides flexibility to add features after development.
SDLC Phases
- System Study/Preliminary Investigation and Feasibility Study
- System Analysis/Determination of System Requirements
- System Design
- System Development/Development of Software
- System Testing
- System Implementation
- System Maintenance and Reviews or Evaluation
System Study
- A system should meet organizational needs.
- System design first specifies needs or requirements.
- The organization's top manager decides to use a computer-based information system to manage the organization.
- During system study, the development team works on:
- Surveying the system using inputs from various sources.
- Analyzing the current system in depth, developing possible solutions.
- Selecting the best solution and defining its function using a feasibility study.
System Analysis
- System analysis breaks systems into pieces to study their interactions.
- System analysis is a term describing preliminary phases of development.
- It is focusing on the business problem, independently of technology.
- The development team collects information from users, management, and data processing personnel to find drawbacks.
- The system analyst then analyzes information and proposes:
- System goals and objectives.
- Actions that must be implemented.
- Outputs to be produced.
- Inputs to be used.
- Processes to be performed.
- Interfaces to be provided.
- Performance and organizational requirements.
Feasibility Study
- An important activity in system analysis that analyzes proposed systems from different aspects.
- It shows how practical the system will be for the organization.
- The need determines the system meets client goals, or determines strengths and limitations, focuses on the system's boundary, suggests new opportunities, and provides quality information with documentation.
- Economic, Technical, Operational, Behavior, Social, Management, Schedule (Time) Legal are the different levels
System Design
- Developing the logical design by using user info and find the needed database..
- System design involves new system design, input, files processing, and programs.
- Logical Design is theoretically designing the system based on requirements.
- Physical Design converts logical design using tools and techniques.
- Physical design is more detailed and complex, using algorithms, flowcharts, pseudo codes, decision tables/trees, E-R diagrams, and data flow diagrams.
System Design Tools
- Algorithms: finite sequences of instructions for solving a problem.
- Flowcharts: pictorial representation of an algorithm.
- System Flowcharts: describes the internal architecture of a system that describes how data are moved inside the internal components of a system.
- Program Flowcharts: solves application-type problems.
- DFD (Data Flow Diagram): logical diagram describing data flow inside system components.
- Easier to understand, precise and less ambiguous than narrative.
- Components: process, data store, data flow, external entities.
- A visual representation of information flow.
- A neat and precise DFD can show the system requirement graphically.
- DFD can be manual, automated, or both, depicts data entering, exiting, and storage locations.
- Circle: A process which transforms data inputs into data outputs.
- Data Flow: A curved line depicting the flow of data into or out from the process/data source.
- Data Store: Done with parallel lines, arrow indicates net input/output.
- Is an external entity acting as a system input/output source.
- Components
- Process: Key component using the process function is rectangular with rounded corner, oval, or circle.
- Data Flow: arrow with related name, using material and the flow of data.
- Warehouse:Data store uses two horizontal lines symbolizing data storage for future use, which is independent of implementation.
- Terminator: External entity outside the system which communicates with the system.
- Context Diagram: A combination of many other DFD and only contains one process representing the entire system.
- The flow of data is described by arrows, external entities are rectangles, and the process is a circle.
- ER (Entity Relationship) Diagram: Depicts the logical structure of a database graphically, which helps to create visual clarity of the database design.
- Entity: Is a real-world item
- Attributes: Characteristics of entities
- Relationship: Describes how entities interact
ER diagram stands for Entity Relation Diagram
- It is a graphical representation that depicts relationship among people, objects, places, concepts or events within a database system.
- An ERD uses data modeling techniques that can help define business processes and serve as the foundation for a relational database.
- An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
- An entity in this context is an object, a component of data.
- An entity set is a collection of similar entities. These entities can have attributes that define its properties.
UML
- Unified Modeling Language is a standardized general purpose modeling language in the field of object-oriented software engineering.
- The standard is managed, and was created by, the object management group.
- UML includes a set of graphic notation techniques to create visual models of object-oriented software.
Decision Table
- A table allows us to identify the exact course of actions for given conditions in tabular form.
- Decision table is a tabular representation of the logic of a decision, which specifies the possible conditions for the decision and the resulting actions.
Decision Tree
- Decision tree is also a technique to represent condition and actions in a diagrammatic form in computer.
- A decision tree allows us to identify the exact course of actions for given conditions in tree structures.
Pseudo Code
- It is a kind algorithm for solving a problem and the instructions of pseudo code are written by using English phrase and mathematical expressions.
Case diagram
- Computer aided software engineering tool is automatic computer based program that helps for software engineering and SDLC process.
- It is very fast and effective tools for the development of big scale software.
- It helps in analysis, design, implementation, testing and maintenance.
System Developments
- Programmers begin to develop the program by using a suitable High Level Language.
- In System developments following processes are done.
- Convert logical structure in to programs in programming language.
- Database is created.
- User operational documents are written.
- Users are trained.
- The internal documentation of a system is prepared.
System Testing
- It is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.
- System testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.
White box testing
- White box testing of software is predicted on close examination of procedural details and Logical path.
- It is used when the tester has access it the internal data structures and algorithms including the code that implement these.
Black box testing
- Black box testing treats the software as a black box without any knowledge of internal implementation.
- Black box testing methods include: equivalence partitioning, boundary value analysis, specification based testing, etc.
- It is also called functional testing because it tests whether a system is functioning or not.
Implementation
- Implementation involves testing the installed system, converting from the old system to the new one and training the users.
- This phase consists of implementation of the system into a production environment, and resolution of the problem identified in testing phase.
Types of Implementation
- Direct Conversion: All users stop using old system at the same time and then begin using the new. This option is very fast, less costly but more risky.
- Parallel conversion: Users continue to use old system while an increasing amount of data is processed through the new system. Both the systems operate at the same time until the new system works smoothly. This option is costly but safe approach. Phased conversion: Users start using the new system component by component. This option works only for systems that can be compartmentalized. This option is safe and conservative approach.
Pilot conversion: Personnel - single pilot-site
- The new system, and then the entire organization makes the switch.
- Although this option may take more time, it is very useful in big organizations where a large number of people make the conversion.
Maintenance and review
- It begins after the system is implemented. Like any system, there is an ageing process that requires periodic maintenance of hardware and software.
- The content of the review will include objectives met, cost, performance, standards and recommendation.
Types of Maintenance
- Corrective Maintenance: corrects the run time errors during the operation.
- Adaptive Maintenance: It modifies or adds new features in the system.
- Perfective Maintenance: It makes the system perfect, up-to-date and improve the life of the system.
Requirement Collection Methods
- Is one of the important aspects of the software development process.
- The proposed system must be able to meet the requirement of the user.
- If the requirements are not specified and precisely clear then the system is unable to perform task for which it is designed.
Requirement Gathering Methods
- One to one interviews
- Group Interviews
- Focus Groups
- Questionnaires/ Survey
- Observation / Field visit
- Analyzing Existing Documents
- Facilitated workshops
- Prototypes
- Brain Storming » Questionnaires/Survey:
- Questionnaires is one of the basic tools for collection the requirements from the stakeholders.
- A list of questions are made regarding the different requirements and need of the software.
Meeting
- Meeting of different stakeholders helps to develop the new idea and concept about the software project.
Brainstorming
- Brainstorming is one of the commonly used requirement gathering tool for gathering as many ideas as possible from group of people.
Interview
-Interviews of stakeholders and users are critical to creating the great software.
System Development Model
During software development or system development for organizations, a common process framework is established, defining a small number of framework activities that are applicable to all software projects, regardless of their size complexity.
- For a better paradigm of a software process, several models are designed and implemented.
- It is the choice of system analyst which model is used to achieve the goal.
Waterfall model
- Waterfall model is a systematic and sequential model to develop software that begins with requirements analysis to operation and maintenance.
- It describes a development method that is liner and sequential.
- It is an oldest type of model for software engineering.
The fundamental processes of waterfall model as follows
- Requirements analysis and definition
- It is the first stage of waterfall model.
- In this stage, the developer should identify the actual requirements of the given problem.
- System design
- in this stage the systems design process partition the requirements to either hardware or software systems.
- System Development
- During this stage, the system design is converting into development.
- Integration and system Testing:
- The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met.
- Operation and maintenance
- in this stage, the system is installed to the desire location.
- The maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the system's service as new requirements are discovered. Advantages i. It is simple model suitable for small size project. ii. It is less expensive. Disadvantages i. It has no back track mechanism. ii. It is not suitable for large size project. iii. It has lack of proper documentation.
Prototyping model
- It is the iterative process of system development which is more appropriate for developing new system where there is no clear idea of requirements, inputs and outputs.
i. Identify the user needs: - The system analyst interviews the user to obtain an idea of what is required from the system. ii. Develop a prototype - The system analyst, working uses one or more prototyping tools to develop a prototype. iii.Determine if prototype is acceptable - The analyst educates the user in prototype use and provides an opportunity from becoming familiar with the system. iv. Use the prototype - the prototype becomes the operational system. Advantages i. The users get a better understanding of the system being developed. ii. Errors can be detected much earlier as the system is made side by side. iii. Quicker user feedback is an available leading to better solutions of the system. Disadvantages i. It leads to implementing and repairing way of building systems. ii. It may increase the complexity of the system as scope of the system may expand beyond original plans.
Spiral system
- In this model, process is represented as a spiral rather than as a sequence of activities with backtracking.
- It is a software development process combining the elements of both waterfall and prototyping model.
- The spiral model is intended for large, expensive and complicated projects.
- This is the most realistic model because it uses multidimensional approach for software development.
Agile Software Development
It is a software development method based on iterative and incremental development in which requirement and solutions evolve though collaboration between self-organizing, cross functional teams.
Advantages of Agile model
- Customer satisfaction by rapid, continuous delivery of useful software.
- People and interactions are emphasized rather than process and tools. -Customers, developers and testers constantly interact with each other. -Working software is delivered frequently (weeks rather than months).
Disadvantages of Agile model
- In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
Documentation
- Is the process of collecting, organizing, storing and maintaining a complete record of system and other documents used or prepared during the different phases of the life cycle of the system.
Types of Documentation
- Internal Documentation: It is used by the system analyst and the programmer during development process.
- External Documentation: It is used by the user during the running time of the software.
Software and Quality
features of good software a. Simplicity b. Flexibility c. Security
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.