The primary goal of this post is to practice English writing by translating computer science contents from the internet.
This chapter is about Software development methodology.
The first line is my own translation and the second is rectifying version of my sentence.
(원활한 영문 보고서 작성을 위한 영작 연습..)
(메모장에다 치고 복붙한거라 가독성이 좋지 않음)
Chapter 1. Software development methodology
> Software development life cycle (SDLC) = Proceduring all the process from system requirement analysis to maintainance.
ㄴ Procedures that systematize the entire process, from system demand analysis to maintenance.
> Software development life cycle model types
- Falls model : The oldest model, make finish every step then go next step
ㄴ A waterfall model : Oldest model, move to the next stage after finishing all the steps
- Prototyping model : Making software reflects the client's feedback, which implements prototype the main functions.
ㄴ Create software by implementing key functions as prototypes and reflecting customer feedback.
- Spiral model : Gradually system development for reducing error
ㄴ Progressively developing systems to minimize risk
(Process : Planning & Naming → Analysis risk → Development → Client estimate)
ㄴ (Procedure : Planning & Definition → Risk analysis → Development → Customer assessment)
- Repeative model : Development repeatively or Integration after divided develop
ㄴ Repeatitive model : Split deployment targets into parallel development and then integrate, or repeat development
> Software development methodology
- Methodology which is configured all the process from start of the development to end of the process
ㄴ A methodology that embodies the entire process from the beginning of software development to the process of not using the system
> Software development methodology types
- Structured development
+ Methodology which integrate after divide and conquer, the entire system develop by function.
ㄴ Segmentation and conquest approach methodology that develops and integrates the entire system according to its functionality.
+ Down going methodology of process
ㄴ Process-driven top-down methodology
+ Nassi–Schneiderman chart : Expression of the tools based on logical skills
ㄴ A graphic representation method that focuses on the description of logic.
- Information engineering development
+ Strategic methodology that management procedure and processing method require for Information system development.
ㄴ A methodology that systematizes the management procedures and work techniques necessary for information system development.
+ Development methodology that structurizes business system, in the other words, information system development to approach in engineering way by James Martin.
ㄴ A development methodology that James Martin systematized to take an engineering approach to the development of business systems, i.e. information systems.
- Object-Oriented Programming
+ The methodology that analyzing and structuring the system by object as basic unit
ㄴ Methodology for analyzing and designing systems in basic units called 'objects'
+ The concept that express combined form of the object such as entity, attribute and method from the real world.
ㄴ The concept of expressing an entity in the real world as an object in the form of a combination of attributes and methods.
+ System integration methodology of messaging communication between objects.
ㄴ A development method for implementing the system through message communication between objects.
+ Fit for enlarge project
ㄴ Suitable for large-scale projects
+ Improvement of re-usability, extension and maintainance
ㄴ Improve reuse rate, scalability, maintenance
+ User type oriented
ㄴ User type centric
+ Easy development for dialogic program
ㄴ Easy to develop interactive programs
- Component based development (CBD) : Methodology that assembling components for a new applicable program
ㄴ Methodology for assembling components to create a new application
- Agile : Fast adaptive methodology for developing effective system focusing on the human rather than procedure
ㄴ A methodology for rapid, adaptive and improved development that can be focused on people rather than procedures to develop efficient systems while being flexible and quickly adapted to change.
- Product line methodology : Methodology that defining common functions for development of particular product
ㄴ A methodology for defining and developing common features that are desired to be applied to specific products.
+ Useful for embedded S/W Creation
> Type of Agile methodology
- XP (eXtreme Programming) : A methodology for improving software quality by communication and immediate feedback
ㄴ Methodology to enhance communication and elevate software quality through immediate feedback.
+ 5 Values of XP : Courage, Simplicity, Communication, Feedback, Respect
+ 12 Basic principles of XP : Pair programming, Collective ownership, Test-driven development, Whole team, Continuous integration, Refactoring, Small release ...
- Scrum : Project management focusing methodology that developing the same time and place every day.
ㄴ Project management-driven methodology for teams with short developments at fixed times and locations each day.
- Lean : A methodology which adapted Toyota's lean system quality techniques to the software development process for removing wasting elements.
ㄴ A methodology to improve quality by applying Toyota's lean system quality technique to the software development process to eliminate waste factors.
+ 7 values of Lean : Elimination of waste, Embedding of quality, Make knowledge, Late definition, Quick leading, Respect human, Customizing overall
ㄴ Lean 7 values : Waste elimination, Quality internalization, Knowledge creation, Late confirmation, Fast delivery, Respect for people, Overall optimization
> Object oriented analysis
: Definition of classes, attributes, operations and relationships related to required problems by analysis user's requirement.
ㄴDefine all classes (objects), attributes and operations, and relationships related to the required problems identified through the analysis of user requirements.
> Object oriented analysis methodology types
- OOSE (Object oriented software engineering) : A methodology that using Use-case for all models. Made by Jacobson.
ㄴ Methodology created by Jacobson where use-cases serve as the foundation for all models.
- OMT (Object modeling technology) : Modeling software components by using graphic expressions.
ㄴ Rumbaugh's methodology, utilizing graphic notation, for modeling software components.
+ Analysis procedure : Object modeling → Dynamic modeling → Functional modeling
+ Object modeling = Modeling that defines relationships between objects to make ER-Diagram
ㄴ Modeling to the process of creating an ER-Diagram by defining the relationship between objects, utilizing object diagrams.
+ Dynamic modeling = Modeling that express dynamic acting of objects by time flowing, utilizing state diagrams.
ㄴ Modeling that expresses the dynamic behavior of objects over time, using state diagrams.
+ Functional modeling = Modeling that expresses the process by data flowing, using DFD.
ㄴ Modeling that expresses the process around the data flow of processes, using data flowchart (DFD)
> Classification of cost checking
ㄴ Cost calculation model classification
- Top-down calculation : Suggestion to the experts or mediators who have a lot of experience about cost calculating
ㄴ Top-down calculation method : Request cost calculation to an experienced expert or calculate cost through expert and coordinator.
+ Expert judgement
+ Delphi method : Method of solution through experience knowledge from expert and predicating
ㄴ Techniques for problem solving and future prediction through expert empirical knowledge.
- Bottom-up calculation method : Cost calculation required based on detailed requirements and functions
ㄴ Estimating the cost required by detailed requirements and functions.
+ Lines of code (LoC) : Estimating the cost by measures better point, normal point, worse point of primitive code line numbers.
ㄴ Calculate the cost by measuring the optimism, median, and non-observation of the number of raw codes.
+ Man month : Calculate the cost about standard of working amount that a person can do for a month
ㄴ Cost estimation based on the amount of work achievable by one person over the course of one month.
+ Cocomo model : Cost estimation based on the program size as suggested by Bohem
ㄴ with the model proposed by Bohem
- Organic mode = Under the 50,000 lines
ㄴ Less than
- Semi-detached mode = Under the 300,000 lines
- Embedded mode = Over the 300,000 lines
ㄴ More than
- Putnam model : Assumption of the population of workers that requires life-cycle by phrase
ㄴ A method of assuming the distribution of required personnel for each stage of the development cycle
- Function point (FP) : Cost estimation by giving value weight for factors that increase software function
ㄴ Cost calculation by weighting factors that increase software functionality
> Tools of the automatic cost calculor
ㄴ Cost estimation automation tool
+ SLIM : Automation estimation tool that based on Rayleigh-Norden's curved line and Putnam's prediction model.
ㄴ Automation estimation tool developed based on Rayleigh-Norden curve and Putnam prediction model.
+ ESTIMACS : Automation estimation tool developed based on FP model for receiving various projects and individual factors.
ㄴ the FP model to accommodate various ...
> Schedule management model
: Model that manage projects to finish on time.
ㄴ A model that manages projects to be completed within a time limit
+ CPM (Critical path method) : Calculating method of the project schedule that complexed processing order of some tasks.
ㄴ A technique for calculating the schedule of a project where the execution sequence of multiple tasks is intertwined.
- Critical path : The path that takes the longest time from the start to the end of the project
ㄴ from start to end of a project
+ PERT (Program evaluation and review technique) : Convergence technique to arrange task order by planning. Using optimism, median, pessimism
ㄴ A convergence technique for organizing the order of tasks in a planned way. Utilizing pessimistic, intermediate, and optimistic estimates.
+ CCPM (Critical chain project management) : A method writing schedule to consider original constraint things by main critical chain
ㄴ The CPM is a technique used to schedule tasks considering the constraints of the original prescription.
-- 메모장 작업 원본 --
댓글