Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Интернет жылдамдығын дамыту - бұл жылдам өнімді дамытуға бағытталған күнделікті құрастырулармен біріктірілген спиральді модель / шарлауық моделін қолданатын жедел бағдарламалық қамтамасыз етуді дамыту әдісі. Ол 90-жылдардың соңында әзірленді, өйткені бағдарламалық жасақтама дамуы тез өзгеріп жатты. Компаниялар жобаға белгіленген мерзімде дұрыс талаптарға сай өнімдер жеткізуде қиындықтарға тап болды және сондықтан бағдарламалық қамтамасыз етуді дамытудың неғұрлым жеңіл әдістеріне ауысты. Интернет жылдамдығының әдісі қалай дамығаны туралы қосымша мәліметтерді Абрахамсонның еңбегіндегі эволюциялық картадан көруге болады.
Internet Speed development is an Agile Software Development development method using a combined spiral model/waterfall model with daily builds aimed at developing a product with high speed. It was developed in the late nineties because software development was changing rapidly. Companies were having problems delivering products with the correct requirements within the time scheduled for the project and as such were changing to more agile software development methods. More details about how the internet speed method was developed can be seen in the evolutionary map in the paper of Abrahamsson.
Интернет жылдамдығын дамытудың негізгі идеялары
Бағдарламалық жасақтамаларды жасаудағы ең үлкен проблемалардың бірі - талаптардың тез өзгеруі. Интернет жылдамдығын дамыту әдісі осы жағдайға бейімделу үшін жасалды. Бұл идея бағдарламалық жасақтама инженерлік модельдеріндегі екі негізгі стандартты, атап айтқанда спиральді модель мен шарлауық моделін жаңа модельге біріктіру және осы жаңа модельге жаңа бағдарламалық жасақтама инженерлік әдісін негіздеу. Су тасқыны моделінің басты кемшілігі - талаптардың өзгеруі кезінде өте қатаң және өте икемді емес, ал спиральді модельдің кемшілігі - ол өте құрылымсыз. Интернет жылдамдығын дамытудың идеясы - бұл модельдерді біріктіру осы кемшіліктерге ие емес әдісті қамтамасыз етеді және талаптарды тез өзгерте алатын жағдайларда пайдалану үшін жақсы әдіс болып табылады, бірақ жобаны құрылымдық түрде орындау керек.
Often one of the biggest problems in software engineering is that the requirements change quickly and the internet speed development method was created to adapt to this situation. The idea is to combine two main standards in software engineering models namely the spiral model and the waterfall model into a new model and base a new software engineering method on this new model. The main disadvantage of the waterfall model was that it was very rigid and not very flexible when it comes to changes in requirements, while the disadvantage of the spiral model was that it was not very structured. The idea behind internet speed development is that the combination of these models will result in a method which does not have these disadvantages and is a better method to use in situations where requirements can change rapidly, but the project has to be executed in a structured way.
Әдістің мақсаты
Интернет жылдамдығын дамыту әдісінің мақсаты бағдарламалық жасақтаманы әзірлеушілерге жобаны құрылымдалған түрде орындауға мүмкіндік беру, бірақ клиенттің қажеттіліктеріне бейімделуге мүмкіндік беру. Ол бағдарламалық өнімдерді қысқа мерзімде, қарқынды әзірлеу арқылы жеткізуді көздейді. Бұл әдіс толық іске асырылған жүйені жеткізуге мүмкіндік береді, сонымен қатар жобаның жетістіктерін анықтаудың жолдарын көрсетеді. Бұл әдістің негізгі нұсқаларының бірі Microsoft-пен құрылған және Microsoft Solutions Framework деп аталады.
The goal of the internet speed development method is to allow software developers to perform a project in a structured way, but still be able to adapt to the needs of the customer. It aims to deliver a software product in a short time through intensive development. The method provides a means to deliver a fully implemented system and also has ways to determine progress in a project through the use of milestones. One of the main versions of this method is created by Microsoft and is called the Microsoft Solutions Framework.
Интернет жылдамдығын дамыту әдісінің тұжырымдамалары
Интернет жылдамдығын дамыту үшін маңызды тұжырымдама - бұл көзқарас пен ауқымды құру (жобаларды басқару). Бұл дегеніміз, жобаның басында жүйе қандай болуды мақсат еткенін, оның аясына не кіретінін және не кірмейтінін түсіндіретін жалпы жүйелік анықтама жасалады. Бұл негізгі қадамдардың бірі, өйткені ол әзірлеушілерге кез-келген талаптарды тоқтатпай, жүйе қандай болатыны туралы нұсқаулар береді. Мақсатты мақсатпен жүзеге асыруды көзқарасты баяндамамен құжаттауға болады. Бұл әдістегі тағы бір маңызды тұжырымдама - ауқымды басқару. Жобаның барлық кезеңінде ауқымды басқару қажет, сонда ол кідіріспен жүреді. Ауқымы ерте анықталады және ауқымына енгізілетін өзгерістер (мысалы, жобаның ауқымынан тыс болып саналатын қосымша мүмкіндіктерді қосу) бағаланып, қабылданды немесе қабылданбады. Аумақты өзгерту мүмкін, бірақ бұл әрқашан сипаттамалар, ресурстар мен уақыт арасындағы сауда-саттыққа әсер етеді. Интернет жылдамдығын дамыту әдісі дәстүрлі әдістерден ерекшеленеді, сондықтан Agile әдісі қағидаттарын қолданады. Ол талаптарға бейімделуге бағытталған және осылайша жедел бағдарламалық жасақтаманы әзірлеудің негізгі қағидаттарына негізделген. Интернет жылдамдығын дамыту сонымен қатар өнім жасалған бір тұрақты архитектураны пайдалануға бағытталған және даму жылдамдығын арттыру үшін құралдарға қатты сүйенеді. Интернет жылдамдығын дамытудың тағы бір негізгі тұжырымдамасы - бұл шағын командаларды пайдалануға да назар аударады. Бұл жобалардың барлығы кішігірім іс-шараларға бөлініп, бір мезгілде жүзеге асырылуы мүмкін деген ойда. Кішігірім топтар көбінесе өз міндеттеріне көбірек көңіл бөледі, ал жауапкершілікті анықтау және жобаның ілгерілеуін бақылау оңайырақ болады. Интернет жылдамдығын дамытудың осы бөлімінде қарастырылған соңғы тұжырымдама - қатар даму тұжырымдамасы. Бұл тұжырымдама негізінен барлық бағдарламалық жасақтама әзірлеу мүмкіндігінше жиі қатар жасалатынын білдіреді. Бұл өте тез дамуға мүмкіндік береді және кіші командаларға өздерінің ерекшеліктеріне мүмкіндігінше көбірек назар аударуға мүмкіндік береді, бұл сапаға жақсы әсер етеді. Кіші командалардың соңғы жүйені құруда бірлесіп жұмыс істеуін қамтамасыз ету үшін олардың дамуын жиі үйлестіру қажет. Бұл күнделікті құрастыруларды қолдану арқылы жүзеге асырылады, яғни барлық әзірлеушілер өздерінің кодтарын күннің соңында тексереді, содан кейін құрастыру жасалады, содан кейін оны бағалау және прогрессті бақылау үшін сынау мүмкін. Құрастыруда функция аяқталғаннан кейін оны сынап, жетілдіруге болады, бұл кейде синхрондау және тұрақтандыру процесі деп аталады. Дамытылған мүмкіндіктер құрастырумен синхрондалады және сыналады. Осы сынақтардан кейін кез келген қателер түзетіледі және функция жақсы жұмыс істеуі үшін жетілдірілуі мүмкін (бұл тұрақтандыру бөлігі). Интернет жылдамдығын дамыту жедел принциптерге негізделген және ол экстремалды бағдарламалау, рационалды біріктірілген процесс, DSDM және ерекшеліктерге негізделген дамумен көптеген ұқсастықтарға ие. Интернет жылдамдығын дамыту бұл әдістерден өзгеше, өйткені ол сонымен қатар тәуекелдерді басқарудың кеңінен жоспарлауын қамтиды және жобаның өте маңызды мақсаты ретінде сапаға ие. Интернет жылдамдығын дамытудың даму кезеңі ашық бастапқы кодты бағдарламалық қамтамасыз етуді дамыту моделімен кейбір ұқсастықтарды көрсетеді, өйткені әлемдегі көптеген әзірлеушілер Интернет арқылы байланыс пен код пен құжаттаманы сақтау үшін қоймаларды пайдалану арқылы даму процесінің бөлігі бола алады.
The first concept that is very important to internet speed development is the creation of a vision and scope (project management). What this means is that in the beginning of the project a global definition of the system is created which explains what the system aims to be and what is within the scope and what is not. This is one of the fundamental steps as it gives the developers some guidelines as to what the system will be without freezing any requirements. The scope can be documented in a vision statement. Another very important concept within this method is scope management. The scope needs to be managed throughout the project to prevent scope creeping which results in delays. The scope will be determined early and changes to the scope (like adding additional features which were at first considered beyond the scope of the project) will be evaluated and either accepted or rejected. Changes in the scope can be made but this will always be affected by trade offs between features, resources and time. The internet speed development method is very different from the traditional methods and therefore uses Agile method principles. It focuses on adaptation to requirements and as such is based on the basic principles of Agile software development. Internet speed development also focuses on using one fixed framework architecture from which the product is built and relies heavily on tools to increase the development speed. Another basic concept of internet speed development is that it also focuses on using small teams. The idea is that all projects can be divided into smaller activities which often can be done parallel. Smaller teams can often be more focused on their task and it is easier to determine accountability and monitor progress within the project. The last concept discussed in this entry of internet speed development is the concept of parallel development. This concept basically means that all the software development is done in parallel as often as possible. This will allow very quick development and it allows the smaller teams to focus on their own feature as much as possible which has a good result on quality. To ensure that the smaller teams do work together to create the final system it is however needed to synchronize their development frequently. This can be done using daily builds which means that all the developers check their code in at the end of the day after which a build is created which can then be evaluated and tested to monitor progress. After a feature is completed in the build it needs to be tested and refined which is sometimes called the synch and stabilize process. The developed features are synchronized with the build and tested. After these tests any bugs will be corrected and the feature can be refined to work better (which is the stabilization part). Internet speed development is based on the agile principles and as such it has a lot of similarities with Extreme Programming, Rational Unified Process, DSDM and Feature Driven Development. Internet speed development is different however from these methods as it also incorporates a more extensive risk management planning and has quality as a very important objective of a project. The development phase of Internet speed development also shows some similarities with the open source software development model because many developers around the globe can be part of the development process because of communication through the Internet and the use of repositories for storing the code and documentation.
Интернет жылдамдығын дамыту үшін қолданылатын құралдар
Сурет салу құралдары (мысалы: Microsoft Visio, Rational Rose, Dia) Диаграммалар жасау үшін. Сөздерді өңдеу құралдары (мысалы: Microsoft Word, OpenOffice. Бұл - көзқарасты немесе ауқымды жазу сияқты мәтіндік құжаттарды жасау үшін. Электрондық кестелер (мысалы: Microsoft Excel, OpenOffice. Қауіп-қатерлер тізімдерін және шығындарды есептеу үшін. Жобалық құралдар (мысалы: Microsoft Project, OpenProj, Gnome Planner, Calligra Plan) Жобалық іс-шараларды жоспарлау үшін. Деректер қорын және деректер қорын басқару құралдары (мысалы: MS SQL Server, MySQL, Oracle, PostgreSQL) Білім базаларын жасау үшін. Автоматтандырылған тестілеу құралдары (мысалы: тестілеу скрипттері) Күнделікті құрастырудан кейін тестілеуді орындау үшін.
Drawing tools (examples: Microsoft Visio, Rational Rose, Dia) For making diagrams. Word processors (examples: Microsoft Word, OpenOffice. org Writer, AbiWord, Calligra Words) For making text documents like a vision statement or scope document. Spreadsheets (examples: Microsoft Excel, OpenOffice. org Calc, Gnumeric, Calligra Sheets) For making prioritized risk lists and making cost calculations. Project tools (examples: Microsoft Project, OpenProj, Gnome Planner, Calligra Plan) For planning project activities. Database and database management tools (examples: MS SQL Server, MySQL, Oracle, PostgreSQL) For making knowledge bases. Automated testing tools (examples: Test scripts) For executing tests after each daily build.