CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE1.1 Software lifecycle models P1 1.1.1 Waterfall model In this model, software development activities are divided into different stage
Trang 1
BTEC FPT INTERNATIONAL COLLEGE
INFORMATION TECHNOLOGY
ASSIGNMENT 1
UNIT: PROGRAMMING
STUDENT : CLASS : BDAF-2005-1 STUDENT ID : BDAF190018
SUPERVISOR :
DaNang, August 2020
Trang 2ASSIGNMENT 1 FRONT SHEET
Qualification BTEC Level 4 HND Diploma in Business
Unit number and title Unit: Programming
Submission date Date received (1st
sub-mission)
Re-submission date Date received (2nd
submission)
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the con-sequences of plagiarism I understand that making a false declaration is a form of malpractice
Student’s signature:
Grading grid
Trang 3Summative Feedbacks: Resubmission Feedbacks:
Grade: Assessor Signature: Date:
Internal Verifier’s Comments:
Signature & Date:
i
Trang 4TABLE OF CONTENT
INSTRUCTOR/ SUPERVISOR/ ASSESSOR i
REVIEWERS iv
ACKNOWLEDGMENTS vii
ASSURANCE viii
TABLE OF CONTENT ix
LIST OF TABLES AND FIGURES xi
LIST OF ACRONYM xii
INTRODUCTION 1
CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE 9
1.1 Software lifecycle models (P1) 9
1.1.1 Waterfall model 9
1.1.2 Interative model 11
1.1.3 The spiral model 13
1.1.4 V model 14
1.2 The risk in spiral lifecycle model (P2) 15
1.3 Feasibility report (P3) 16
1.4 Technical solutions (P4) 17
CONCLUSION 7
REFERENCES 8
ii
Trang 5LIST OF TABLES AND FIGURES
Table 1-1: gfdgfdgfdgfd 2
Figure 1-1: abx - ssss 2
Figure 2-1: Figure of chapter 2 4
Figure 3-1: Figure of chapter 3 5
iii
Trang 6LIST OF ACRONYM
iv
Trang 7Dsasadsada d sad sad sad sa
Trang 8CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE
1.1 Software lifecycle models (P1)
1.1.1 Waterfall model
In this model, software development activities are divided into different stages and each stage consists of a series of tasks and has different goals It is divided into phases and output of one phase becomes the input of the next phase It is mandatory for a phase
to be completed before the next phase starts In short, there is no overlapping in the Waterfall model
The waterfall model have seven non-overlapping stages:
Requirements: Potential requirements, deadlines and guidelines for the project are analyzed and placed into a functional specification This stage handles the defining and planning of the project without mentioning specific processes
Analysis: The system specifications are analyzed to generate product models and business logic that will guide production This is also when financial and technical resources are audited for feasibility
Trang 9 Design: A design specification document is created to outline technical design requirements such as programming language, hardware, data sources, architecture and services
Coding/Implementation: The source code is developed using the models, logic and requirements designated in the prior stages Typically, the system is designed in smaller components, or units, before being implemented together
Testing: This is when quality assurance, unit, system and beta tests take place to report issues that may need to be resolved This may cause a forced repeat of the coding stage for debugging If the system passes the tests, the waterfall continues forward
Operation/Deployment: The product or application is deemed fully functional and is deployed to a live environment
Maintenance: Corrective, adaptive and perfective maintenance is carried out indefinitely to improve, update and enhance the final product This could include releasing patch updates or releasing new versions
Case of used
Requirements are stable and not changed frequently
An application is small
There is no requirement which is not understood or not very clear
The environment is stable
The tools and techniques used is stable and is not dynamic
Resources are well trained and are available
Advantages of the waterfall model
Upfront documentation and planning stages allow for large or shifting teams to remain informed and move towards a common goal
Forces structured , disciplined organization
Is simple to understand, follow and arrange tasks
Facilitates departmentalization and managerial control based on schedule or deadlines
Reinforces good coding habits to define before design and then code
Allows for early design or specification changes to be made easily
Clearly defines milestones and deadlines
Disadvantages of the waterfall model
The disadvantages of the waterfall model
Trang 10 Design is not adaptive; often when a flaw is found, the entire process needs to start over
Ignores the potential to receive mid-process user or client feedback and make changes based on results
Delays testing until the end of the development life cycle
Does not consider error correction
Does not handle requests for changes, scope adjustments or updates well
Reduces efficiency by not allowing processes to overlap
No working product is available until the later stages of the life cycle
Not ideal for complex, high risk, ongoing or object-oriented projects
1.1.2 Interative model
The interative model is a particular implementation of a software development life cycle that focusses on an initial , simplified implement, which then progressively gains more complexity and a broader feature set until the final system is complete
Normally, The interative consists of five stages
Planning : This is the first stage of the iterative model, where proper planning is done by the team, which helps them in mapping out the specifications documents, establish software or hardware requirements and generally prepare for the upcoming stages of the cycle
Analysis and Design : Once the planning is complete for the cycle, an analysis is performed to point out the appropriate business logic, database models and to know any other requirements of this particular stage Moreover, the design stage
Trang 11also occurs in this phase of iterative model, where the technical requirements are established that will be utilized in order to meet the need of analysis stage
Implementation : This is the third and the most important phase of the iterative model Here, the actual implementation and coding process is executed All planning, specification, and design documents up to this point are coded and implemented into this initial iteration of the project
Testing : After the current build iteration is coded and implemented, testing is initiated in the cycle to identify and locate any potential bugs or issues that may have been in the software
Evaluation : The final phase of the Iterative life cycle is the evaluation phase, where the entire team along with the client, examine the status of the project and validate whether it is as per the suggested requirements
Case of used
The systematic requirements are complete, clearly defined and easily understood
Key requirements need to be defined, and some details may be renewed over time
Advantages of interative model
Build and perfect the product steps step by step
Documenting time will be less than design time
Some working functions can be developed quickly and early in the life cycle
Less expensive to change ranges, required
Easy to manage risks
Throughout the life cycle, the software is produced early to facilitate customer reviews and feedback
Disavantages of interative model
Demanding many resources
System architecture or design issues can arise at any time
More complex management requirements
The progress of the project depends heavily on the risk analysis
Trang 121.1.3 The spiral model
The spiral model is emphasis placed on risk analysis The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation A software project repeatedly passes through these phases in iterations (called Spirals in this model) The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed
Spiral Model Phases
Case of used
When project is large
When releases are required to be frequent
When creation of a prototype is applicable
When risk and costs evaluation is important
For medium to high-risk projects
When requirements are unclear and complex
When changes may require at any time
When long term project commitment is not feasible due to changes in economic priorities
Advantages of spiral model
Additional functionality or changes can be done at a later stage
Trang 13 Cost estimation becomes easy as the prototype building is done in small fragments
Continuous or repeated development helps in risk management
Development is fast and features are added in a systematic way
There is always a space for customer feedback
Disadvantages of spiral model
Risk of not meeting the schedule or budget
It works best for large projects only also demands risk assessment expertise
For its smooth operation spiral model protocol needs to be followed strictly
Documentation is more as it has intermediate phases
It is not advisable for smaller project, it might cost them a lot
1.1.4 V model
The V-model is an SDLC model where execution of processes happens in a sequential manner in a V-shape It is also known as Verification and Validation model The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage
Case in used
Requirements are well defined, clearly documented and fixed
Product definition is stable
Technology is not dynamic and is well understood by the project team
There are no ambiguous or undefined requirements
Trang 14 The project is short.
Advantages of V model
This is a highly-disciplined model and Phases are completed one at a time
Works well for smaller projects where requirements are very well understood
Simple and easy to understand and use
Easy to manage due to the rigidity of the model Each phase has specific deliverables and a review process
Disadvantages of V model
High risk and uncertainty
Not a good model for complex and object-oriented projects
Poor model for long and ongoing projects
Not suitable for the projects where requirements are at a moderate to high risk of changing
Once an application is in the testing stage, it is difficult to go back and change a functionality
No working software is produced until late during the life cycle
1.2 The risk in spiral lifecycle model (P2)
The spiral model is a practical approach for developing large-scale software When implementing this model, developers and customers can better understand from overview
to detail Since then, when encountering risks at each level, it is possible to have appropri -ate solutions or give development suggestions to put the software in the right direction, helping to quickly improve
When implementing this model, developers can directly consider technical risks and manage each stage
However, when developing warehouse management software into this model, there will be many problems:
Cost issue: Risk analysis and evaluation will be very costly This increases the cost greatly Because this is a software to manage a small part of an enterprise's opera-tions
Technical problems: When putting software into use in a certain company Then maybe the software needs to change according to the needs of the customer It is
Trang 15possible to change requirements frequently, so the risk analysis of each change re-quires people with technical and experience
Time issue: According to the spiral model, the risk analysis must be done during software development However, usually in practice, before signing the contract to buy software Software manufacturers often have to present risks to customers So the risk assessment must be done first
Personnel issue: Warehouse software only needs a small number of developers When assessing risks, it may not be possible to see all risks Or that could just be subjective risks from similar software So finding all the risks requires a lot of ex-perts Small parts are unlikely to meet this
1.3 Feasibility report (P3)
The objective of the feasibility study is to prove the feasibility of the project to persuade investors or investment leaders to implement the project
The feasibility study document clarifies whether the work is worth doing or not and
is feasible in terms of economic and technical aspects If so, how much and how much benefit The feasibility study document considers the legal basis, necessity of the project, scope objectives as stated and approved When there is a good design analysis, the writer
is at risk
Technical benefits:
Help storekeepers more easily find and look up information about goods and information on stock quantities
Ensure the search is accurate, complete and fast
Helps save time for storekeepers in import and export activities
Linking with other software in the system to help facilitate the electronicization of the company
Economic benefits:
Minimize paper documents in management activities
Reduce document storage costs compared to using paper documents because data
is stored on the cloud drive
Help save time for storekeepers in import and export activities, increase productivity
Trang 161.4 Technical solutions (P4)
There are three ways to connect to a database:ADO.NET, Entity Framework, LINQ
to SQL The following table provides the pros and cons of each type of connection
It provides consistent access to data sources
Entity Framework
Entity Framework is a wrapper for ADO.NET Writing and managing ADO.NET code for data access seems a bit tedious and monotonous So, Microsoft provides an O/RM framework —— Entity Framework to automate database related activities for our applica-tion We can say that EF is an enhancement to ADO.NET that gives developers an auto-mated mechanism for accessing & storing the data in the database It is useful in three scenarios First, if you already have existing database or you want to design your data-base ahead of other parts of the application Second, you want to focus on your domain classes and then create the database from your domain classes Third, you want to design your database schema on the visual designer and then create the database and classes
Trang 17 LINQ to SQL
It's used for quick data access construction to relatively well designed SQL Server data-bases
LINQ to SQL Entity Framework ADO.net
It only works with SQL
Server Database
It can work with various data-bases like Oracle, DB2, MYSQL, SQL Server etc
It can work with RDBMS like SQL Server, Oracle, DB2 and MySQL etc
It generates a dbml to
maintain the relation
It generates an edmx files initially The relation is main-tained using 3 different files csdl, msl and ssdl
It generates data provider to connect for each kind of database Ex : System.Da-ta.Sqlclient, System.Data.Or-acleClient, …
It has not support for
com-plex type
It has support for complex type
You can create data provider
to connect with different types of database
It cannot generate database
from model
It can generate database from model
It cannot generate database from model
It allows only one to one
mapping between the
en-tity classes and the
rela-tional tables /views
It allows one, one-to-many & one-to-many-to-one-to-many map-pings between the Entity classes and the relational ta-bles /views
It can not create entity class
It allows you to query data
using DataContext
It allows you to query data using EntitySQL, ObjectCon-text, DbContext
It query depend on com-mants
It provides a tightly coupled
approach
It provides a loosely coupled approach Since its code first approach allow you to use Dependency Injection pat-tern which make it loosely coupled
It provides a tightly coupled approach